在性能方面,哪个更好?
在对象中:
情况1
public function test( $array ) {
return array_map( array( $this, 'do_something_to_element' ), $array );
}
案例#2
public function test( $array ) {
$return = array();
foreach ( $array as $value ) {
$return[] = do_something_to_element( $value );
}
return $return;
}
当然还有其他用途,可以填充许多例子.我已经看到注释,在一个对象中,array_map比foreach循环慢.
一般来说,array_map / array_walk的执行速度比类似需求的foreach循环更快吗?
解决方法:
我相信这回答了你的问题,截止到2015-01-22
Performance of foreach, array_map with lambda and array_map with static function
array_map虽然在PHP中更加优雅但速度慢得多.特别是如果使用它与封闭.