Tom*_*ang 1 php arrays multidimensional-array laravel
我想从数组中查找键值,如果不存在,则将数组集插入数组列表中
如果我搜索蓝色,它将返回Y,但是如果我搜索绿色,则返回N
$people = array(
0 => array(
'name' => 'John',
'fav_color' => 'green'
),
1=> array(
'name' => 'Samuel',
'fav_color' => 'blue'
)
);
$found_key = array_search('green', array_column($people, 'fav_color'));
if($found_key){
print_r("Y");
}else{
print_r("N");
}
Run Code Online (Sandbox Code Playgroud)
期望搜索蓝色或绿色返回Y
按照array_search文档中写的注释:
警告:此函数可能返回布尔FALSE,但也可能返回非布尔值,其值为FALSE。请阅读布尔值部分以 获取更多信息。使用===运算符测试此函数的返回值。
在您的情况下,green值的索引为0。在if语句0中表示false。为了摆脱这个问题,您需要严格类型检查array_search返回的值,如下所示。
if ($found_key !== false) { // strict type check
print_r("Y");
} else {
print_r("N");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |