2011-07-09 4 views
0

У меня есть два массива. один будет добавлен с массивами в виде дочерних элементов, другой - ссылки на массив, добавляемый к первому.php массив ссылок

$list=array(); 
$stack=array(); 

в цикле:

$list[]=array('something'); 
$stack[]=& end($list); //errors: Only variables should be assigned by reference 

что я делаю неправильно здесь? Спасибо за помощь.

+0

Ошибка сообщение кажется довольно понятным. И почему «новый массив»? Просто 'Array' будет делать. –

+0

@tomalak, извините, это была ошибка .. – bingjie2680

ответ

1

Edited

$stack[] = &$list[count($list)-1]; //> Assuming numeric index incremental 

или

end($list); 
$stack[] = &$list[key($list)]; 
+0

таким образом, ссылка на $ var, а не на конец ($ list) ?? правильно?? Я хочу ссылку на конец ($ list), поэтому он не будет выходить за пределы цикла for. – bingjie2680

+0

'& =' означает что-то другое. Наверное, не то, что предназначено. – duskwuff

+0

@ duskwuff: это была опечатка. вы могли бы отредактировать – dynamic

0

объекты всегда будут передаваться по ссылке в PHP 5.

EDITED

Но если массив не a класс затем

$element = array(); 
$list[] = &$element; 
$stack[] = &$element; 
+0

извините, я новичок в php. так делает то же самое с массивами? – bingjie2680

+0

Код работает, если вы работаете с массивами PHP. Конечно, вам нужно передать заполненный массив в элемент $. – Gedrox

+0

так что и список и стек являются массивами ссылки на $ element? – bingjie2680

Смежные вопросы