PHP数组搜索返回多个键

时间:2015-10-11 03:36:31

标签: php arrays php-5.5

我正在尝试搜索数组并返回多个键

<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_search("2",$a);
?>

使用上面的代码只返回b,我怎样才能让我返回b和c?

3 个答案:

答案 0 :(得分:7)

array_search手册中所述:

  

要返回所有匹配值的键,请使用带有可选 search_value 参数的array_keys()

实施例

$a=array("a"=>"1","b"=>"2","c"=>"2");
print_r(array_keys($a, "2"));

结果:

Array
(
    [0] => b
    [1] => c
)

答案 1 :(得分:0)

使用array_keys:

<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_keys(array($a, "2");
?>

答案 2 :(得分:0)

如果有人觉得有帮助,我会添加此内容。如果您要处理多维数组。 假设您有

        $a = array(['user_id' => 2, 'email_id' => 1], ['user_id' => 2, 'email_id' => 2, ['user_id' => 3, 'email_id' => 1]]);

您要在email_id中找到user_id 2。 您可以做到

        print_r(array_keys(array_column($a, 'user_id'), 2));

这将返回[0,1]

希望这会有所帮助。