问题描述
我有以下数据传入数据:
0 => array [
0 => "A"
1 => "B"
2 => "C"
]
1 => array [
"order" => array [
0 => "B"
1 => "C"
2 => "E"
]
]
2 => "B"
在显示数据时我已完成:
@foreach($data as $key => $list)
<li style="display:block"><span>{{$key}}</span>.
<span>{{ is_array($list) ? implode (",",$list) : $list }}</span>
</li>
@endforeach
因为有不同的数组来了,所以当涉及到 1 个索引时,它会说数组到字符串的转换。我该如何处理?
解决方法
您需要以相同的格式重新组织数据数组元素:
$data = [
["A","B","C"],["B","C","E"],["B"],];
控制器
$data = [
["A","order" => [
["B","E"]
],"B"
];
$items = [];
foreach ($data as $i => $datum) {
if (is_string($i)) { // handle $data[$i]["order"]
$items[] = current($datum);
continue;
}
$items[] = (array) $datum; // handle $data[2] (B)
}
将项目转移到模板并foreach它
// this is an example,use template engine syntax
foreach($items as $listItems) {
var_dump(implode(',',$listItems));
}