Переменные переменных для массива

kot_k_k

Новичок
Добрый день.
Подскажите почему не получается использовать переменные переменных для массива.

PHP:
$docdata = array(0 => array(1,2,3));  
$z_1 =$docdata[0][0];
$u = 'z';
$u1 = ${$u."_1"};    // вот это работает

$s ="docdata[0][0]";
$d = $$s;                // а вот это нет   - Undefined variable: docdata[0][0]

$d = ${$s};       //  тоже не хочет  - с теми же воплями.
и если есть способ то как правильно это сделать?
 

Andkorol

Новичок
Подскажите почему не получается использовать переменные переменных для массива.
Написано же в ошибке – нет такой переменной: docdata[0][0]
Есть переменная $docdata.
А $docdata[0][0] – это не переменная, а обращение к элементу массива.
и если есть способ то как правильно это сделать?
Не совсем понятно, зачем это может быть нужно – но можно типа как-то так построить небоскрёб:
PHP:
$s = 'docdata';
$d = $$s;
// then use $d[0][0]
// OR
$d = ${$s}[0][0];
 

kot_k_k

Новичок
спасибо.
рекурсивное редактирование двух сложных массивов. стандартные функции не совсем подходят.
хотелось нанизать на строку индексы и получить путь => "[0]['spec'][0][1]" а потом его прицепить к имени второго массива.
ну и общее развитие.
 

WMix

герр M:)ller
Партнер клуба
напиши обертку
PHP:
$arrObj = new ArrObj($arr);
assert_equals( $arr[0]['spec'][0][1], $arrObj->get([0,'spec',0,1]) );
 

kot_k_k

Новичок
Вот только как это использовать.

да и ошибку пишет на конструкцию get([0,'spec',0,1]) - первую квадратную подчеркивает.
 

WMix

герр M:)ller
Партнер клуба
get(array(0,'spec',0,1))

или обновись, а остальное сам додумай, там 5 строк кода макс.
 
Сверху