테스트 사이트 - 개발 중인 베타 버전입니다

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

rlawhd 7년 전 조회 3,452

$data

[{홍길동:남자}

{강호동:남자}

{이서희:여자}]

 

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

 

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

 

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

 

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

 

 

 

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

답변 2개

채택된 답변
+20 포인트
7년 전

</p>

<p><?php

    $data['홍길동'] = "남자";

    $data['강호동'] = "남자";

    $data['이서희'] = "여자";

    $data['박근혜'] = "여자";

    $data['이명박'] = "남자";

    $data['최순실'] = "여자";

    

    print_r($data);

    echo "
";

    foreach (array_keys($data, '여자') as $key) {

        unset($data[$key]);

    }

    print_r($data);

?></p>

<p>

 

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

 

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

 

</p>

<p><?php

    $data['홍길동'] = "남자";

    $data['강호동'] = "남자";

    $data['이서희'] = "여자";

    $data['박근혜'] = "여자";

    $data['이명박'] = "남자";

    $data['최순실'] = "여자";

    $data['박바보'] = "중성";        

    $data['이수자'] = "여자";

    $data['최복남'] = "남자";

        

    print_r($data); echo count($data); echo "

";</p>

<p>    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);

    

?></p>

<p>

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

답변에 대한 댓글 1개

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

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

ti
7년 전

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

이걸 말씀하시는건가요?

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

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

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

로그인