Я строю массив по частям, следуя определенному шаблону.
Например, у меня есть эта строка <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
//)
Вот, пожалуйста, это называется ссылка
$a[1][22] = array();
$pointer = &$a[1][22];
$pointer[] = 3;
$pointer[] = 4;
print_r($a);
Других решений пока нет …