多维数组指针


Multidimesional array pointers

我正在按照特定的模式一块一块地构建数组。

例如,我有这个字符串<val0=0, val1=<val2=2, val3=<val4=4>>, val5=5>,我需要把它转换成一个关联数组。所以每次我找到<,我必须创建一个新的数组,并存储以下元素,直到下一个>

上面的字符串应该是这样的:

Array
(
    [val0] => 0
    [val1] => Array
        (
            [val2] => 2
            [val3] => Array
                (
                    [val4] => 4
                )
        )
    [val5] => 5
)

对于使用str_split将字符串分成几部分并在for循环中迭代它们的非多维数组,一切都很好,但每次在字符串中有嵌套数组时,我都很难找到解决方法。

我需要的是一种方法,有一个指针,最后创建的数组内的主数组。

是否有一种方法可以在变量中存储数组指针引用,以便我可以这样做:

print_r($MULTIARRAY['val1']['val3']);
// prints: array()
$pointer = pointer($MULTIARRAY['val1']['val3']);
$pointer[] = 'AAA';
$pointer[] = 'BBB';
print_r($MULTIARRAY['val1']['val3']);
// prints: array(
//   [0] => AAA
//   [1] => BBB
//)

这就是reference

$a[1][22] = array();
$pointer = &$a[1][22];
$pointer[] = 3;
$pointer[] = 4;
print_r($a);