PHP数组搜索返回多个键

问题描述 投票:3回答:3

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

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

上面的代码只返回b,如何让我返回b和c?

php arrays php-5.5
3个回答
7
投票

array_search手册中所述:

要返回所有匹配值的键,请改为将array_keys()与可选的[[search_value参数一起使用。


实施例:

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

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


0
投票
改为使用array_keys:

<?php $a=array("a"=>"1","b"=>"2","c"=>"2"); echo array_keys(array($a, "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]

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.