PHP:forEach语句遍历某些项缺少某元素的二维数组
前言
用ThinkPHP搞Api开发,前端传过来一个Excel文件转换的json数组,第三方插件读取的数据,某个单元格里没有数据的话这个键值对也没了,用foreach直接遍历会报错,某项键值不存在,小问题,记录一下过程1.前端传过来的json数组示例
[
{
"订单号": 124465937518,
"父单号": 0,
"名称": 123,
},
{
"订单号": 118921513114,
"名称": 123,
},
{
"订单号": 124465937518,
"父单号": 0,
"名称": 123,
},
]
2.问题
可以看到数据的第二条缺少父单号
,直接遍历此数组的话,foreach会报错.
3.解决
可以用下面这种方法:
$goods=[];
foreach ($dataArr as $k => $v) {
$goods[$k]['order_id'] = $v['订单号'];
$goods[$k]['f_order_id'] = empty($v['父单号'])?'':$v['父单号'];
$goods[$k]['name'] = $v['名称'];
}
return $goods;
注:
此问题关键是 :三元运算符的应用