我有一个要在其中搜索uid并获取数组键的数组。
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(100)
0
函数调用search_by_uid(40489)应返回2。
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或只是使用==代替===。
===
string
==
$key = array_search('100', array_column($userdb, 'uid'));
这是文档:http://doc.codingdict.com/php-ref/index.html