от
Переменные в PHP передаются по значению или по ссылке?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

14 Ответы

0 голосов
от
Переменные в PHP передаются по значению или по ссылке?
0 голосов
от
Это значение согласно документации PHP. По умолчанию аргументы в функцию передаются по значению (так, что если значение аргумента внутри функции изменяется, то не изменяется вне функции). Если вы хотите разрешить функции модифицировать свои аргументы, они должны быть переданы по ссылке. Чтобы иметь аргумент в функцию всегда передаются по ссылке, указать амперсанд (
0 голосов
от
Кажется, многие люди путаются, кстати, передаются в функцию объекты и то, что проходим по ссылке означает. Переменные объекта до сих пор передается по значению, его просто значение, которое передается в php5 ссылочку ручки. В качестве доказательства:
0 голосов
от
В PHP, по умолчанию объекты передаются как ссылки копировать в новый объект. Увидеть этот пример.............
class X {
  var $abc = 10; 
}

class Y {

  var $abc = 20; 
  function changeValue($obj)
  {
   $obj

Теперь посмотрим, как это..............

class X {
  var $abc = 10; 
}

class Y {

  var $abc = 20; 
  function changeValue($obj)
  {
    $obj = new Y();
  }
}

$x = new X();
$y = new Y();

echo $x

Теперь посмотрим, как это ..............

class X {
  var $abc = 10; 
}

class Y {

  var $abc = 20; 
  function changeValue(
0 голосов
от
http://www.php.net/manual/en/migration5.oop.php В PHP 5 появилась новая объектная модель. Работа с объектами в PHP был полностью переписан, что позволило улучшить производительность и больше возможностей. В предыдущих версиях PHP, объекты обрабатывались как примитивные типы (например, Integer и String). Недостатком этого способ являлось то, что семантически весь объект был скопирован при присвоении переменной, или передать в качестве параметра в метод. В рамках нового подхода, объекты, на которые ссылается дескриптор, а не по значению (можно подумать рукояти как идентификатор объекта).
0 голосов
от
PHP-переменные присваиваются значения, передаются функции по значению, и по содержанию/представляющие объекты передаются по ссылке. Вы можете заставить переменные пройти по ссылке используя
0 голосов
от
Вы можете передать переменную в функцию по ссылке. Эта функция сможет изменить исходную переменную. Вы можете определить проезд по ссылка в определении функции:
0 голосов
от
Вы можете сделать это в любом случае. положить '
0 голосов
от
Переменные, содержащие примитивные типы передаются по значению в php5. Переменные, содержащие объекты передаются по ссылке. Там довольно интересная статья из журнала Linux с 2006 года, который упоминает этот и другие отличия ОО между 4 и 5. http://www.linuxjournal.com/article/9170
0 голосов
от
Объекты передаются по ссылке в PHP 5 и по значению в PHP 4. Переменные передаются по значению по умолчанию! Читать здесь: http://www.webeks.net/programming/php/ampersand-operator-used-for-assigning-reference.html
...