Посмотрите на этот пример. Существует строка:
$client =& new xmlrpc_client('/xml-rpc', 'api.quicktate.com', 80);
$client->return_type = 'xmlrpcvals';
Что такое =&
и что означает ->
in $client->return_type
?
Посмотрите на этот пример. Существует строка:
$client =& new xmlrpc_client('/xml-rpc', 'api.quicktate.com', 80);
$client->return_type = 'xmlrpcvals';
Что такое =&
и что означает ->
in $client->return_type
?
=
и &
должны иметь пробел между ними - это два разных оператора. &
означает получить ссылку на это.
->
предназначен для доступа к члену объекта - это означает, что присваивает 'xmlrpcvals' члену return_type
$client
.
* см. комментарии для разъяснения
Передача переменной по ссылке
<?php
$a = 5;
$b =& $a;
$b = 6;
echo "a: ";
var_dump($a);
echo "b: ";
var_dump($b);
?>
выход:
a: int(6)
b: int(6)
The = & присваивает переменной ссылку на объект, а не копирует ее. Это два отдельных оператора (назначение и получение ссылки), но они часто записываются вместе.
The → - оператор доступа к члену; в примере это означает, что get_type принадлежит клиенту XML-RPC.
Начиная с последнего вопроса сначала;
что означает значение → in $client- > return_type?
- > - это оператор, который вы используете для доступа к свойствам и методам объекта в PHP. Большинство языков, таких как Java или Javascript, используют оператор точек для одного и того же объекта. Это (возможно) происходит от синтаксиса C для доступа к членам структуры.
Тогда этот первый вопрос...
что такое = &
Короткий вариант, в вашем примере, это реликвия, которой больше не нужно; похмелье от PHP4, которое вам больше не нужно, если вы используете PHP5. Но обратите внимание, что это характерно для вашего примера.
Для длинной версии, чтобы вы действительно понимали, что происходит, прочитайте http://derickrethans.nl/talks/phparch-php-variables-article.pdf о ссылках в PHP
Это называется возврат по ссылке.