什么是=&用PHP?

时间:2010-09-02 20:12:12

标签: php operators

看看这个例子。有一条线:

  $client =& new xmlrpc_client('/xml-rpc', 'api.quicktate.com', 80);
  $client->return_type = 'xmlrpcvals';

什么是=&以及->中的$client->return_type是什么意思?

5 个答案:

答案 0 :(得分:12)

=&应该*之间有空格 - 它们是两个不同的运算符。 &表示get a reference to this

->用于对象成员访问 - 这意味着将“xmlrpcvals”分配给return_type的{​​{1}}成员。

*见澄清说明

答案 1 :(得分:8)

是通过引用传递变量

<?php  
   $a = 5; 
   $b =& $a; 
   $b = 6; 

   echo "a: "; 
   var_dump($a); 
   echo "b: "; 
   var_dump($b); 
?>

输出:

a: int(6)
b: int(6) 

答案 2 :(得分:2)

=&amp;为变量赋予对象的引用而不是复制它。它是两个独立的运算符(赋值和获取引用)但它们通常是一起写的。

- &gt;是会员访问运营商;在示例中,它表示获取属于XML-RPC客户端的return_type。

答案 3 :(得分:2)

首先从最后一个问题开始;

  

什么是 - &gt;在$ client-&gt; return_type中意味着什么?

- &GT;是用于在PHP中访问对象的属性和方法的运算符。大多数语言,例如Java或Javascript都使用点运算符来实现相同的功能。它(可能)派生自用于访问结构成员的C语法。

那第一个问题......

  

什么是=&amp; ?

短版本是,在你的例子中,它是你不再需要的遗物;来自PHP4的宿醉,如果你使用PHP5就不再需要了。但请注意,这是针对您的示例的。

对于长版本,所以你真正理解阅读http://derickrethans.nl/talks/phparch-php-variables-article.pdf关于PHP中的引用的内容

答案 4 :(得分:1)