这些功能陈述使我感到困惑。
我是php的新手,帮助我理解这些功能:
if(position == conditionToRemove){
filePaths.remove(position);
adapter.notifyDatasetChanged()
}
第一个回声输出 10 第二个回声输出 16
这两个功能有什么区别?
答案 0 :(得分:3)
有两种类型的通话:
1)按值调用:addFive($num)
2)通过引用致电:addSix(&$num)
在第一种情况下,您只是传递变量的值。
因此,只有在保持原始变量不受影响的情况下才会修改值。
在第二种情况下,您正在传递对变量的引用,因此原始值会被修改。
答案 1 :(得分:2)
第一个函数传递参数按值 - 换句话说,它被复制到函数中,您对它执行的任何更改都将在本地副本上。
第二个函数通过引用传递参数 (注意函数签名中的&
)。这意味着变量本身会被传递,并且您对其执行的任何修改都将超出函数的范围。
答案 2 :(得分:1)
&安培;用于在第二个函数声明中传递变量的地址" addSix(& $ num){}"
调用addSix($ orignum)时的第二个函数;值的更新是在" $ orignum"
的地址上完成的而在第一个函数中,更新是在" $ num"
上完成的答案 3 :(得分:0)
第一个功能为您的号码添加5,第二个功能为您的号码添加6
$num+=6
表示$num= $num+6
第一个函数适用于Call by value
,第二个函数适用于Call by reference