Ссылка на массив

MangaRulit

Новичок
Ссылка на массив

Я использую класс ExcelXMLParser. В нём имеется несколько методов, которые возвращают ссылку на массив. В PHP4 все работает нормально, в PHP5 выдаёт ошибку
Notice: Only variable references should be returned
by reference in m:\home\localhost\www\exceltest\excelxmlparser\ExcelXMLArrayIterator.php on line

Пример функции, $this->Data[$this->keys[$this->index]] в данном случае массив:
PHP:
function &current(){
		$this->_reindex();
		return @$this->Data[$this->keys[$this->index]];
	}
Какие могут быть причины?
 

Гравицапа

elbirret elcno
MangaRulit
PHP:
function &current(){
    $this->_reindex();
    $tmp = $this->Data[$this->keys[$this->index]];
    return $tmp;
}
http://www.php.net/manual/en/language.references.return.php
 

MangaRulit

Новичок
Гравицапа
Спасибо, направили на правильный путь :).
Если написать как у вас, отработает без ошибок, но результат получится неправильным. Эксперименты показали, что правильный вариант такой:
PHP:
function &current(){
    $this->_reindex();
    $tmp = & $this->Data[$this->keys[$this->index]];
    return $tmp;
}
 
Сверху