что делает и делает в php - PullRequest
3 голосов
/ 04 июня 2010

У меня есть этот код

$myNewClass->cars =& Orders_Car::GetRecords($myNewClass->searchString);
                   ^

что там делает &. спасибо

Ответы [ 4 ]

6 голосов
/ 04 июня 2010

Создает ссылку. Если вы не знаете, что такое ссылка, прочитайте это: http://www.php.net/manual/en/language.references.php

6 голосов
/ 04 июня 2010

Изменяет переменную, которая будет «передана по ссылке». Это в отличие от передачи копии переменной в.

Подробнее см. в руководстве .

Одно общее использование в foreach.

Как правило, foreach работает с копией повторяемого массива или объекта.

Это значит

$salad=array(1,2,3);
foreach ($salad as $leaf){
  $leaf+=1;
  }
echo $salad[0];// output: 1   

foreach ($salad as &$leaf){
  $leaf+=1;
  }
echo $salad[0];// output: 2 because & made the assignment affect the original array
4 голосов
/ 04 июня 2010

Читать Не использовать ссылки PHP от эксперта PHP Йоханнеса Шлютера

Ссылки PHP - это пережиток PHP 4, где объекты передавались по значению, а не по ссылке, если вы не сделали это намеренно по ссылке. Это не обязательно при использовании PHP 5, потому что все объекты передаются по ссылке в PHP 5 все время.

Скаляры и массивы по-прежнему передаются по умолчанию в PHP 5. Если вам нужно передать их по ссылке, вам просто нужно использовать объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...