如果array_search()
有一种方法可以返回其第一次冲突的关键,就像我运行一样
$key = array_search(40489, array_column($userdb, 'uid'));
on
Array
(
(1) => Array
(
(uid) => '5465',
(name) => 'Stefanie Mcmohn',
(pic_square) => 'urlof100'
),
(2) => Array
(
(uid) => '40489',
(name) => 'Michael',
(pic_square) => 'urlof40489'
)
);
理想情况下会返回
2
但我希望它返回
1
即第一个没有' uid' = 40489 &安培;
如果array_search()
无法实现,那么还有其他方法可以使用循环吗?我试过了array_filter()
,但无法让它发挥作用。
答案 0 :(得分:1)
如array_search
描述中所述:
在数组中搜索给定值,并在成功时返回第一个相应的键
如果在数组中找到针,则返回针的键,否则返回FALSE。
因此,您无法使用array_search
来搜索与您所需要的内容不相符的内容。而是编写自己的函数,例如:
$array = []; // your array
foreach ($array as $key => $value) {
if ($value['uid'] != '40489') {
echo 'Key: ', $key;
// use `break` to stop iterating over
// array as you already found what you need
break;
}
}