Creating nested parent child array from multidimensional array in php

I have this array

$array = Array ( [a] => Array ( [0] => b [1] => h ) [b] => c [c] => d [h] => m ) 

And I need to convert the array as below

 Array ( [a] => Array ( [b] => Array ( [c] => Array ( [d] => Array ( ) ) ) [h] => Array ( [m] => Array ( ) ) ) ) 

I already asked this question for a one-dimensional array.

I tried with [ Creating a nested parent child array from a one-dimensional array in php , and I got the following array

 Array ( [a] => Array ( [b] => Array ( [a] => Array ( [h] => Array ( [b] => Array ( [c] => Array ( [d] => Array ( ) [h] => Array ( [m] => Array ( ) ) ) ) ) ) ) ) ) 

How to verify that a key is present in a multidimensional array, and if it is, add it to an existing key. Help solve the problem. Thanks at Advance

+3
source share
1 answer
 <?php $array = array( 'a' => array(0=>'b',1=>'h'), 'b' => 'c', 'c' => 'd', 'h' => 'm', ); $newArray = array(); $secondarray = array(); $part = &$newArray; $i=1; foreach($array as $first => $second) { if($i==1) { $firstone=$first; } else { if($i==count($array)) { $newArray[$first] = array($second => array()); $secondarray[$firstone]=$newArray; } else { $part = &$part[$first]; $part[$second] = array(); } } $i++; } echo '<pre>';print_r($secondarray); 

Output

 Array ( [a] => Array ( [b] => Array ( [c] => Array ( [d] => Array ( ) ) ) [h] => Array ( [m] => Array ( ) ) ) ) 
+2
source

Source: https://habr.com/ru/post/989261/


All Articles