array형식 중복데이터제외 개수구하기 채택완료

$data

[{홍길동:남자}

{강호동:남자}

{이서희:여자}]

 

이런 3개의 object로 되어있는 array가 있을떄

 

$data.length나 count($data)를 하면 3이 출력되는데

 

남자란 value 중복값 제거 하면 남자/여자가 남기때문에

 

2이 출력되게 하고 싶은데 방법 없을까요?

 

 

 

답변 2개

채택된 답변
+20 포인트

Copy
<?php
    $data['홍길동'] = "남자";
    $data['강호동'] = "남자";
    $data['이서희'] = "여자";
    $data['박근혜'] = "여자";
    $data['이명박'] = "남자";
    $data['최순실'] = "여자";
    
    print_r($data);
    echo "<BR>";
    foreach (array_keys($data, '여자') as $key) {
        unset($data[$key]);
    }
    print_r($data);
?>

 

아 질문의 요지가 중복값 제거네요. 그럼 기다려 보세요.

 

위에는 참고 하시구요. 중복값 제거는 다음과 같습니다.

 

Copy
<?php
    $data['홍길동'] = "남자";
    $data['강호동'] = "남자";
    $data['이서희'] = "여자";
    $data['박근혜'] = "여자";
    $data['이명박'] = "남자";
    $data['최순실'] = "여자";
    $data['박바보'] = "중성";        
    $data['이수자'] = "여자";
    $data['최복남'] = "남자";
        
    print_r($data); echo count($data); echo "<BR><BR>";

    foreach ($data as $key=>$value) {
        $i=0;
        foreach (array_keys($data, $value) as $key) {
            if($i!=0)
                unset($data[$key]);
            $i++;
        }
    }
    print_r($data); echo count($data);
    
?>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

제 답에 아래 참고 하세요. 질문 내용을 처음에 잘못 이해 했네요.

댓글을 작성하려면 로그인이 필요합니다.

http://php.net/manual/en/function.array-unique.php

이걸 말씀하시는건가요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고