<?php
/**
* 多级字符串转多级数组
*/
$array = array(
'A'=>0,
'A:B'=>1,
'A:B:C'=>2,
'A:B:E'=>3,
'B'=>10,
'B:W'=>11,
'B:E'=>12,
'B:C'=>13
);
function format($key,$value) {
$item = explode(':', $key);
$len = count($item);
$data = array($item[$len-1]=>$value);
for ($i=$len-2; $i>=0 ; $i--) {
$data = array($item[$i]=>$data);
}
return $data;
}
$result = array();
foreach($array as $key=>$value) {
$result = array_merge_recursive($result, format($key,$value));
}
var_dump($result);
/**
* 多级字符串转多级数组
*/
$array = array(
'A'=>0,
'A:B'=>1,
'A:B:C'=>2,
'A:B:E'=>3,
'B'=>10,
'B:W'=>11,
'B:E'=>12,
'B:C'=>13
);
function format($key,$value) {
$item = explode(':', $key);
$len = count($item);
$data = array($item[$len-1]=>$value);
for ($i=$len-2; $i>=0 ; $i--) {
$data = array($item[$i]=>$data);
}
return $data;
}
$result = array();
foreach($array as $key=>$value) {
$result = array_merge_recursive($result, format($key,$value));
}
var_dump($result);