public class Xx {
public static void add(int id) {
id++;
}
public static void main(String[] args) {
int id = 10;
add(id);
System.out.println(id); //结果为11
}
}
JAVA默认是引用传递,传递进去的变量若在方法中发生变化,执行完该方法后出来,便也发生改变
class Xx
{
function xx($device) {
$device++;
}
function test() {
$device = 10;
$this->xx($device);
dd($device); //结果为10
}
}
PHP默认是值传递,传递进去的变量实际上是副本,副本若在函数中发生变化,执行完该函数后出来,不会影响外部的变量,若想改为引用传递,则需要在参数前加个&
如下
class Xx
{
function xx($device) {
$device++;
}
function test() {
$device = 10;
$this->xx(&$device);
dd($device); //结果为10
}
}