PHP多维数组按值搜索
我有一个要在其中搜索uid
并获取数组键的数组。
回答:
假设我们有以下二维数组:
$userdb = array( array(
'uid' => '100',
'name' => 'Sandra Shush',
'pic_square' => 'urlof100'
),
array(
'uid' => '5465',
'name' => 'Stefanie Mcmohn',
'pic_square' => 'urlof100'
),
array(
'uid' => '40489',
'name' => 'Michael',
'pic_square' => 'urlof40489'
)
);
函数调用search_by_uid(100)
(第一个用户的uid)应返回0
。
函数调用search_by_uid(40489)
应返回2
。
我尝试进行循环,但是我想要更快的执行代码。
回答:
function searchForId($id, $array) {
foreach ($array as $key => $val) {
if ($val[‘uid’] === $id) {
return $key;
}
}
return null;
}
这将起作用。您应该这样称呼它:
$id = searchForId('100', $userdb);
重要的是要知道,如果你使用的是很重要的===
运营商相比,类型必须完全相同,在这个例子中,你必须寻找string
或只是使用==
代替===
。
$key = array_search('100', array_column($userdb, 'uid'));
这是文档:http://doc.codingdict.com/php-ref/index.html
以上是 PHP多维数组按值搜索 的全部内容, 来源链接: utcz.com/qa/399197.html