Что означает «&» в этом php-коде? - PullRequest
2 голосов
/ 23 сентября 2010

я использую слово press, и я пытаюсь выучить это, но см. код, который я не понял

$post = &get_post($id);

я вижу '&' перед get_post, что означает «&»?

спасибо

Ответы [ 3 ]

7 голосов
/ 23 сентября 2010

Здесь вы получаете ссылку на результат get_post($id).

В частности, вы используете метод "возврата по ссылке".

Возвращение ссылок :

Возвращение по ссылке полезно, когда вы хотите использовать функцию, чтобы найти, к какой переменной должна быть привязана ссылка.


Тот же синтаксис можно использовать с функциями, которые возвращают ссылки, и с оператором new (начиная с PHP 4.0.4 и до PHP 5.0.0):

  <?php
  $foo =& find_var($bar);
  ?>

Начиная с PHP 5, new автоматически возвращает ссылку,поэтому использование =& в этом контексте устарело и выдает сообщение E_STRICT.

Так что, если вы используете >= PHP 5, не очень хорошая идея использовать эту запись.


Ресурсы:

5 голосов
/ 23 сентября 2010

Передача или присвоение по ссылке .

1 голос
/ 23 сентября 2010

Теперь вы уже знаете, что для возврата по ссылке, следствием этого является следующее.Эффект будет следующим: всякий раз, когда вы изменяете значение переменной $ post, вы на самом деле меняете содержимое get_post ($ id). get_post () возвращает объект, содержащий всю информацию об этом посте в базе данных.

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