function ByVal($p)
{
return is_int($p);
}
function ByRef(&$p)
{
return is_int($p);
}
如果$p是个很大的数组,ByRef的速度相比ByVal而言会慢很多。
猜测php认为一个引用参数按值传递时会进行复制。
一个有效的办法是在函数内再赋值给一个变量:
function ByRef(&$p)
{
$p1 = $p;
return is_int($p1);
}
虽然不能避免参数复制,但函数内如果多次要传递该参数,只会复制一次。