PHPのarray_walkはforeachに置き換えよう
array_walkはforeachに置き換えた方が圧倒的に可読性が良いと思う。
特に引数でそのまま無名関数を渡してしまう場合。
array_walk版
<?php $array = array(10,20,30,40,50); array_walk($array, function(&$i){ $i += 5; }); print_r($array); //Array //( // [0] => 15 // [1] => 25 // [2] => 35 // [3] => 45 // [4] => 55 //)
foreach版
<?php $array = array(10,20,30,40,50); foreach ($array as &$i) { $i += 5; } print_r($array); //Array //( // [0] => 15 // [1] => 25 // [2] => 35 // [3] => 45 // [4] => 55 //)
array_walkのいいところは、破壊的に配列の中身を走査できることのはずなのに、結局無名関数の引数で&を指定してあげないといけないのがなんかイケてない感じがする。
(&をつけないと第一引数の配列には変化はない)
どうせ&で参照を渡すことになるのなら、foreachでループして破壊してます感を出してくれた方が可読性は高いと思う。