Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查值是否在数组PHP中(容易吗?)_Php_Arrays - Fatal编程技术网

检查值是否在数组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确实有正确的答案!不幸的是,我无法提升他的职位,也无法给出一个未经证实的答案:(