考虑函数sort
和array_reverse
。
为什么一个修改传递的变量,而另一个返回一个新版本?
$a = array(3, 1, 2);
sort($a);
// $a === array(1, 2, 3)
array_reverse($a);
// $a === array(1, 2, 3)
sort
可以很容易地编写为返回参数的修改副本,反之亦然array_reverse
。
我问的原因是因为我想知道是否有任何指导方针来决定是否使用“按引用传递和修改”方法与“按值传递、修改和返回”方法编写函数。