假设我们有以下二维数组:
$userdb = array(
array(
'uid' => '100',
'name' => 'Sandra Shush',
'pic_square' => 'urlof100'
),
array(
'uid' => '5465',
'name' => 'Stefanie Mcmohn',
array(
'uid' => '40489',
'name' => 'Michael',
'pic_square' => 'urlof40489'
)
);
调用函数search_by_uid(100)应该返回0(该元素所在数组的key值)
调用函数search_by_uid(40489)应该返回2(该元素所在数组的key值)。
search_by_uid函数应该如何写?
search_by_uid函数如下:
function searchForId($id,$array) {
foreach ($array as $key => $val) {
if ($val['uid'] === $id) {
return $key;
}
}
return null;
}
这会奏效。你应该这样称呼它:
$id = searchForId('100',$userdb);
重要的是要知道,如果你使用的是很重要的===运算符相比,类型必须完全相同,在这个例子中,你要查找的是字符串类型,因此只需使用==
在PHP(>= 5.5.0)的更高版本中,您可以使用单行程。
$key = array_search('100',array_column($userdb,'uid'));