php多级字符串转多级数组

<?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);

猜你喜欢

转载自blog.csdn.net/qishi123910/article/details/79823381