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