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

