与其他方法相比,我正在寻找一种在数组中查找值的方法。
假设我们有一个php数组:(我来回答this问题,因为这正是我的情况)
$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'
)
);
我需要知道是否可以找到(例如)uid值为100的name值。
我希望情况会很清楚,谢谢您的帮助:)
答案 0 :(得分:3)
是的,有办法
$temp = array_column($userdb, 'name','uid');
echo ($temp[100] ?? ''); // php 7
echo (!empty($temp[100]) ? $temp[100] : ''); // < php 7
array_column —从输入数组的单个列中返回值
语法:
array_column ( array $input , mixed $column_key [, mixed $index_key = NULL ] ) : array
Demo。
答案 1 :(得分:0)
除非我忽略了某些内容,否则就像遍历$userdb
数组,在uid
字段中查找匹配值,然后将结果name
存储在变量中一样简单:
$name = null;
foreach ($userdb as $user) {
if ($user['uid'] == 100) {
$name = $user['name'];
break;
}
}
var_dump($name);