array형식 중복데이터제외 개수구하기
본문
$data
[{홍길동:남자}
{강호동:남자}
{이서희:여자}]
이런 3개의 object로 되어있는 array가 있을떄
$data.length나 count($data)를 하면 3이 출력되는데
남자란 value 중복값 제거 하면 남자/여자가 남기때문에
2이 출력되게 하고 싶은데 방법 없을까요?
답변 2
<?php
$data['홍길동'] = "남자";
$data['강호동'] = "남자";
$data['이서희'] = "여자";
$data['박근혜'] = "여자";
$data['이명박'] = "남자";
$data['최순실'] = "여자";
print_r($data);
echo "<BR>";
foreach (array_keys($data, '여자') as $key) {
unset($data[$key]);
}
print_r($data);
?>
아 질문의 요지가 중복값 제거네요. 그럼 기다려 보세요.
위에는 참고 하시구요. 중복값 제거는 다음과 같습니다.
<?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);
?>
답변을 작성하시기 전에 로그인 해주세요.