我有两个代码片段,它们做同样的事情,但是通过不同的方法,哪个更好,为什么?非常感谢。第一个处理函数 handle() 中的 $arr 并且不返回值,因为它是通过-通过引用,所有更改都发生在函数句柄()内,因此它不需要返回任何值。
第二个片段从函数 handle() 返回值并覆盖 $arr[]; 中的先前值;
一个不返回,另一个返回,我想知道哪种方法合适或可取,最重要的是,为什么,谢谢!返回和不返回之间的选择
第二个代码是
片段一:
class a {
public function org(){
$arr = array(1=>1,2=>2,3=>3);
foreach($arr as $k=>&$v){
$this->handle($v);
}
print_r($arr);
}
public function handle(&$item){
$item+=1;
}
}
$b = new a();
$b->org();
片段 B:
class a {
public function org(){
$arr = array(1=>1,2=>2,3=>3);
foreach($arr as $k=>$v){
$arr[$k] = $this->handle($v);
}
print_r($arr);
}
public function handle($item){
return $item+=1;
}
}
$b = new a();
$b->org();