Create variable length array from string

后端 未结 2 1450
我在风中等你
我在风中等你 2021-01-28 10:12

The string

$string = \'a.b.c.d\';

should create an array like

array(\'a\' => array(\'b\' => array( ....

I managed

2条回答
  •  旧时难觅i
    2021-01-28 10:58

    This should work:

    function create_array(&$arr,$string,$data){
        $a=explode('.',$string);
        $last=count($a)-1;
        $p=&$arr;
    
        foreach($a as $k=>$key){
            if ($k==$last) {
                $p[$key]=$data; 
            } else if (is_array($p)){
                $p[$key]=array();
            }
            $p=&$p[$key];
        }
    }
    

提交回复
热议问题