$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
Из вышеприведенного массива мне нужно значение «Собака». как я могу получить уникальное значение из массива ?. есть ли какие-либо функции в php? …
Спасибо Рави
$a = array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); $counted = array_count_values($a); $result = array(); foreach($counted as $key => $value) { if($value === 1) { $result[] = $key; } } //$result is now an array of only the unique values of $a print_r($result);
function getArrayItemByValue($search, $array) { // without any validation and cheking, plain and simple foreach($array as $key => $value) { if($search === $value) { return $key; } } return false; }
затем попробуйте использовать его:
echo $a[getArrayitembyValue('Dog', $a)];
Попробуйте:
$a = array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); $aFlip = array_flip($a); $unique = array(); foreach ( array_count_values( $a ) as $key => $count ) { if ( $count > 1 ) continue; // $unique[ array_search($key) ] = $key; $unique[ $aFlip[$key] ] = $key; }
Использование следующей функции, кажется, работает и удобно.
<?php $array1 = array('foo', 'bar', 'xyzzy', 'xyzzy', 'xyzzy'); $dup = array_unique(array_diff_assoc($array1, array_unique($array1))); $result = array_diff($array1, $dup); print_r($result); ?>
Вы можете увидеть его работу здесь – http://codepad.org/Uu21y6jf
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); $result = array_unique(a); print_r($result);
Попробуй это…