I have an array like this in PHP:
$array = array(
'main0' => array(
'level0' => array('0'=>'value_1'),
'level1' => array(
'0' => 'value_2',
'1' => 'value_3',
),
'level2' => array('0'=>'value_445')
),
'main1' => array(
'level0' => array('0'=>'value_1'),
'level1' => array('0'=>'value_12'),
'level2' => array(
'0' => 'value_2',
'1' => 'value_3',
),
'level3' => array('0'=>'value_5')
),
);
This array will be dynamic, to many mainkeys and levels, each level also have dynamic amount of values.
My problem is, I'm trying to echo each of the array level in select option html markup. I've tried foreach ($array[][] as $value) but with no luck. How to achieve this in PHP?
EDIT
Solved my problem using 3 foreach, might be not the cleanest solution but it works. My solution in blade php:
<?php $data = Product::GetCategories(); ?>
@if ($data != null)
@foreach ($data as $item)
<optgroup label="{{ $item[0][0] }}">
@foreach ($item as $level)
@foreach ($level as $v)
<option value="{{ $v }}">{{ $v }}</option>
@endforeach
@endforeach
</optgroup>
@endforeach
@endif
foreach($array as $k=>$v) echo "<option>".$v."</option>";. Error output isError Array to String Conversion