PHP 的 =& 运算符

2022-08-30 11:19:09

这两个 PHP 语句是否在做同样的事情?

$o =& $thing;

$o = &$thing;

答案 1

是的,它们都是完全相同的东西。它们只是获取对象的引用并在变量中引用它。请注意,应该是变量。$othing


答案 2

从语法上讲,它们不是一回事。运算符是原子 =&,这实际上很重要。例如,您不能在三元表达式中使用 =& 运算符。以下两项都不是有效的语法:

$f = isset($field[0]) ? &$field[0] : &$field;
$f =& isset($field[0]) ? $field[0] : $field;

因此,您将使用以下命令:

isset($field[0]) ? $f =& $field[0] : $f =& $field;

推荐