检查值是否在数组PHP中(容易吗?)
我想我有一个很简单的问题,但我还是被卡住了。我想检查值是否在数组中,如果在数组中,我想更改变量值检查值是否在数组PHP中(容易吗?),php,arrays,Php,Arrays,我想我有一个很简单的问题,但我还是被卡住了。我想检查值是否在数组中,如果在数组中,我想更改变量值 $admin_is_menu = "about"; $test = array(); $test = [ ["Name" => "About","alias" => "about"], ["Name" => "Test", "alias" => "test"], ]; if(in_array($admin_is_menu, $test)){ $admin_is_men
$admin_is_menu = "about";
$test = array();
$test = [
["Name" => "About","alias" => "about"],
["Name" => "Test", "alias" => "test"],
];
if(in_array($admin_is_menu, $test)){
$admin_is_menu = "true";
}
echo $admin_is_menu;
在上面的代码中,它应该输出echo“true”
,因为“about”
在数组中。但不幸的是,它不起作用
我做错了什么?尝试
array\u column
获取所有数组值
$admin_is_menu = "about";
$test = array();
$test = [
["Name" => "About","alias" => "about"],
["Name" => "Test", "alias" => "test"],
];
if(in_array($admin_is_menu, array_column($test,'alias'))){
$admin_is_menu = "true";
}
echo $admin_is_menu;
@cske在评论中指出了如何做到这一点。这里也有一个小的解释 你应该使用。在这种情况下,
array\u列($test,“alias”)
将返回一个新数组:
array(2) {
[0]=>
string(5) "about"
[1]=>
string(4) "test"
}
现在,您可以在数组中用检查它:
in_array($admin_is_menu, array_column($test,'alias'))
这将返回true
在数组($admin\u is\u菜单,array\u列($test,'alias'))
中,仍然回显“about”
有趣的是,对我来说回显为“true”。如果看到使用相同代码发布的答案,@cske应该为它发布一个答案,或者至少;我想我做错了一些小事情是的,cske确实有正确的答案!不幸的是,我无法提升他的职位,也无法给出一个未经证实的答案:(