在开发过程中经常会遇到如下场景:
<?php
//查询$a中是否有id为$b的数据,如果有,返回对应的name值(id唯一)
$a = [
[
'id' => 3,
'name' => 'xxx',
],
[
'id' => 5,
'name' => 'xxoox',
],
[
'id' => 6,
'name' => 'xddxoox',
],
];
$b = 5;
查询二维数组中的某个值,如果有,返回其对应数组中的其他值
正常的匹配方式是遍历:
<?php
foreach ($a as $key => $value) {
if ($value['id'] == $b) {
echo $value['name'];
continue;
}
}
PHP还有一个原生方法,可以更好的做到这一点 array_column :
<?php
// 将二维数组降维成 id=>name 形式的键值对,还能降低复杂度
$temp = array_column($a, 'name', 'id');
echo $temp[$b] ? : '';
觉得有用的朋友,记得点个赞哦!