PHP 数组搜索 Return 多个键
PHP Array Search Return Multiple Keys
我正在尝试搜索一个数组和return多个键
<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_search("2",$a);
?>
上面的代码只有 returns b,我怎样才能让 I 到 return b 和 c?
改用array_keys:
<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_keys(array($a, "2");
?>
正如 array_search 手册中所说:
To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.
示例:
$a=array("a"=>"1","b"=>"2","c"=>"2");
print_r(array_keys($a, "2"));
结果:
Array
(
[0] => b
[1] => c
)
我添加这个以防有人觉得它有帮助。如果你正在处理多维数组。
假设你有这个
$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));
这将 return [0,1]
希望这对您有所帮助。
我正在尝试搜索一个数组和return多个键
<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_search("2",$a);
?>
上面的代码只有 returns b,我怎样才能让 I 到 return b 和 c?
改用array_keys:
<?php
$a=array("a"=>"1","b"=>"2","c"=>"2");
echo array_keys(array($a, "2");
?>
正如 array_search 手册中所说:
To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.
示例:
$a=array("a"=>"1","b"=>"2","c"=>"2");
print_r(array_keys($a, "2"));
结果:
Array
(
[0] => b
[1] => c
)
我添加这个以防有人觉得它有帮助。如果你正在处理多维数组。 假设你有这个
$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));
这将 return [0,1]
希望这对您有所帮助。