多维数组指针

时间:2015-06-03 17:18:02

标签: php arrays 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
//)

1 个答案:

答案 0 :(得分:1)

在这里,它被称为reference

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