<?php
$a=array("Cat","ccc","Dog","Horse","Dog","Horse");
$cc=array_count_values($a);
print_r($cc);
echo"<br>";
print_r(array_search(2,$cc));
?>为什么只输出dog,不输出Horse呢?

解决方案 »

  1.   

    因为array_search,一旦找到值,就返回,,如果需要找到所有值为2的key,你用
    print_r(array_keys ($cc, 2));
      

  2.   

    手册说得很清楚啊。
    说明
    mixed array_search ( mixed needle, array haystack [, bool strict] )如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。 手册你再翻翻array_keys答案就有了