我用谷歌搜索了一下,但什么也找不到。
$x->func(&$string, $str1=false, $str2=false);
$string
&$string
之前的&
是做什么的?
发布于 2013-12-06 16:49:03
您正在通过引用赋值该数组值。
通过引用传递参数(&$)和通过$传递参数是指当您通过引用传递参数时,您处理的是原始变量,这意味着如果您在函数内部更改它,它也将在它外部更改。如果您将参数作为副本传递,函数将创建此变量的副本实例,并处理此副本,因此,如果您在函数中更改它,它将不会在它外部更改
参考:http://www.php.net/manual/en/language.references.pass.php
发布于 2013-12-06 17:01:23
&
的意思是通过引用传递:
引用允许两个变量引用相同的内容。换句话说,变量指向它的内容(而不是成为该内容)。通过引用传递允许两个变量以不同的名称指向相同的内容。与号(&
)放在要引用的变量之前。
发布于 2013-12-06 16:51:09
这意味着您将一个对字符串的引用传递给该方法。对该方法内的字符串所做的所有更改也将反映在代码中该方法的外部。
另请参阅:PHP's =& operator
示例:
$string = "test";
$x->func(&$string); // inside: $string = "test2";
echo $string; // test2
如果没有&运算符,您仍然会在变量中看到"test“。
https://stackoverflow.com/questions/20419613
复制相似问题