http://madroom-project.blogspot.jp/2014/03/arrayreduce.html
array_reduce()ってどんな時に使うと便利なのかなー。
演算方法をカスタマイズしたい時に便利。
<?php $a = array_reduce(range(1, 100), function($result, $item) { if ($item % 2 === 0) { // 偶数だけ加算する return $result += $item; } return $result; }); echo $a, PHP_EOL; // 2550
あと、文字列の操作もできたり
<?php $arr = ['a', 'b', 'c', 'A', 'B', 'C']; $a = array_reduce($arr, function($result, $item) { if (preg_match('/[a-z]/', $item)) { // 小文字のみ連結 return $result .= $item; } return $result; }); echo $a, PHP_EOL; // abc
連想配列のkeyを判定基準にして足し算したり:http://d.hatena.ne.jp/maeharin/20121108/p1
コメント
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。