PHP多维数组如何提取所有Fruit字段转为逗号分隔字符串或新数组
数组Fruit字段提取解决方案
方案1:PHP 5.5及以上版本(推荐,性能最优)
直接使用内置函数array_column即可,该函数可以直接提取二维数组中指定键的所有值,完全不受同级其他字段(比如你提到的@att)影响:
// 假设你的原数组变量名为$originArr $somethingList = $originArr['Somethings']['Something']; // 1. 生成仅包含Fruit名称的新数组 $fruitArr = array_column($somethingList, 'Fruit'); // 2. 直接转为逗号分隔的字符串 $fruitStr = implode(',', $fruitArr);
方案2:兼容PHP 5.5以下版本
用基础的foreach遍历实现,兼容性更强:
$fruitArr = []; foreach ($originArr['Somethings']['Something'] as $item) { // 加isset判断避免部分子项无Fruit字段时报错 if (isset($item['Fruit'])) { $fruitArr[] = $item['Fruit']; } } // 转逗号分隔字符串同样用implode即可 $fruitStr = implode(',', $fruitArr);
两种实现都不需要关心同级的@att字段结构,数组后续新增更多子项也能自动适配,不需要调整逻辑。如果你的运行环境支持PHP5.5+优先选方案1,代码更简洁执行效率更高。
内容的提问来源于stack exchange,提问作者user15123815
相关产品推荐
相关产品推荐

