小编典典

PHP多维数组按值搜索

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

我尝试进行循环,但是我想要更快的执行代码。


阅读 436

收藏
2020-05-26

共1个答案

小编典典

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

2020-05-26