I would like to convert these strings into a combined nested array:
array(
'item1:item2:itemx',
'item1:item2:itemy',
'itemz'
)
To
array(
'item1' => array(
'item2' => array(
'itemx' => array(),
'itemy' => array(),
)
)
'itemz' => array()
)
Is there a way to do this with explode/foreach loop?
This question has been answered countless of times... please use search before posting a new question.
Anyway, here's one solution:
$strings = array(
'item1:item2:itemx',
'item1:item2:itemy',
'itemz'
);
$nested_array = array();
foreach($strings as $item) {
$temp = &$nested_array;
foreach(explode(':', $item) as $key) {
$temp = &$temp[$key];
}
$temp = array();
}
var_dump($nested_array);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With