与另一个数组相比,如何在数组中找到价值

时间:2019-06-10 13:11:13

标签: php arrays

与其他方法相比,我正在寻找一种在数组中查找值的方法。

假设我们有一个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值。

我希望情况会很清楚,谢谢您的帮助:)

2 个答案:

答案 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);