您的位置:首页 >PHP根据数组值查找关联数组字段提取列
发布于2026-01-18 阅读(0)
扫一扫,手机访问

本文介绍使用 PHP 的 `array_filter()` 和 `array_column()` 组合高效实现:以数组 A 的元素为键,匹配数组 B 中 `'colour'` 字段,批量提取对应的 `'name_cz'` 值。代码简洁、可读性强,适用于多对一映射查询场景。
在实际开发中,常需基于一组标识值(如颜色英文名)从结构化数据集(如多维关联数组)中批量提取对应信息(如本地化名称)。以下是一种推荐的现代 PHP(≥5.5.0)解决方案:
<?php
$a = ['red', 'green'];
$b = [
['colour' => 'red', 'name_cz' => 'cervena'],
['colour' => 'green', 'name_cz' => 'zelena'],
['colour' => 'blue', 'name_cz' => 'modra'],
['colour' => 'yellow','name_cz' => 'zluta']
];
// 步骤1:筛选出 colour 在 $a 中存在的项
$filtered = array_filter($b, function ($item) use ($a) {
return in_array($item['colour'], $a, true);
});
// 步骤2:提取 name_cz 列(自动保持原始顺序)
$result = array_column($filtered, 'name_cz');
print_r($result);
// 输出:Array ( [0] => cervena [1] => zelena )$result = array_map(function($item) { return $item['name_cz']; }, $filtered);该方法语义清晰、无副作用、无需手动循环,是处理此类“查找-投影”任务的典型实践。
下一篇:食行生鲜退货流程详解
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9