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

回到顶部