使用条件进入关联数组

问题描述

我有以下数据传入数据:

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));
}