由于 PHP 借用了 java 的大部分面向对象特性。我想知道PHP和java是否都使用相同的传值概念?
我知道Java不是按引用传递的。它只是对象引用是按值传递的。 PHP 怎么样? PHP 支持引用传递吗?
最佳答案
在 PHP 中,如果声明一个函数并用“&”符号填充它,则只能通过引用传递内容:
function &return_by_reference() {
$something = make_something();
return $something;
}
function increment(&$n) {
// This changes $n because it is a reference parameter
$n++;
}
还有调用时按引用传递(即,当您调用函数时通过引用传递变量),但我不会继续讨论它,因为它会带来意外风险行为。更好的做法是在函数签名中声明要通过引用传递的参数。
对于对象:在 PHP 4 中,对象都是按值传递的。在 PHP 5 中,对对象的引用通过值传递,就像在 Java 中一样。
关于java - 就引用传递而言,php 与 java 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4130208/