[2] => Array
(
[id] => 2
[parentid] => 0
[layer] => 1
[orders] => 2
[name] => bbb) [6] => Array
(
[id] => 6
[parentid] => 2
[layer] => 2
[orders] => 1
[name] => bbb.1
)。
[4] => Array
(
[id] => 4
[parentid] => 1
[layer] => 2
[orders] => 1
[name] => aaa.2
)
(
[id] => 2
[parentid] => 0
[layer] => 1
[orders] => 2
[name] => bbb) [6] => Array
(
[id] => 6
[parentid] => 2
[layer] => 2
[orders] => 1
[name] => bbb.1
)。
[4] => Array
(
[id] => 4
[parentid] => 1
[layer] => 2
[orders] => 1
[name] => aaa.2
)
function makearray($arrayname,$array,$array_key=""){
global ${$arrayname."_array"};
$temp_array=array();
foreach($array as $key=>$value){
if(is_array($value)){
makearray($arrayname,$value,$key);
}else{
$temp_array[$key]=$value;
}
}
echo $array_key."<br>";
if($array_key)$return_array[$array_key]=$temp_array;
}
makearray("return",$myarray);
print_r($return_array);$myarray就是你的array
$return_array=array();
function makearray($arrayname,$array,$array_key=""){
global ${$arrayname."_array"};
$temp_array=array();
foreach($array as $key=>$value){
if(is_array($value)){
makearray($arrayname,$value,$key);
}else{
$temp_array[$key]=$value;
}
}
if($array_key)${$arrayname."_array"}[$array_key]=$temp_array;
}
makearray("return",$myarray);
print_r($return_array);
任意结构的多维数组,只要每个数组的key不重复,否则会覆盖掉相同key的数组元素。
======================================上面的是不按照原数组顺序的。
下面的是按照顺序的。
=======================================$return_array=array();
function makearray($arrayname,$array,$array_key=""){
global ${$arrayname."_array"};
$temp_array=array();
$sort_array=array();
foreach($array as $key=>$value){
if(is_array($value)){
$sort_array[$key]=$value;
}else{
$temp_array[$key]=$value;
}
}
if($array_key)${$arrayname."_array"}[$array_key]=$temp_array;
foreach($sort_array as $key=>$value){
makearray($arrayname,$value,$key);
}
}
makearray("return",$myarray);
print_r($return_array);