skillup

技術ブログ

PHP

underbarphpについて+配列処理頻出パターン

投稿日:2016年1月28日 更新日:

配列系の処理を関数型で行いたいときにJavaだとラムダ式、javaScriptだとunderscore.jsがあります。

PHPではできないものか・・といろいろと探していたところunderbar.phpというライブラリが使えるようですね。

underbar.phpとは

公式は http://emonkak.github.io/underbar.php/

undersocre.jsに影響をうけたライブラリのようで、使い方も非常に似ています。

インストール

ライブラリを使いたいディレクトリにcomposer.jsonを作り、下記を書いてcomposer updateを行います。

vendor/autoload.phpというファイルがありますので、これを読み込めばunderbar.phpが使えます。

配列系の処理といっても一番使う頻度が高いのは多次元配列の抽出、集計、変換だと思いますので、これらの処理を中心に書いていきます。

集計

集計

変換

応用系(全てをチェーンでつなぐ)

追記
group byは複数キーでも行けるようです。

参考リンク

underscore.jsにPHP版がありました

-PHP
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

switch(true)イディオム

switch文は通常、文字や数字で分岐をさせることが多いですが、実は条件式を入れることも可能です。 私の場合、正規表現を動的に変えたいケースがあり、検索したところ似たケースがありました。 【JavaS …

no image

Angularでのイベント+改行+echoでのバッファサイズ変更

Contents1 Angularのイベント処理2 Angularでの改行ネタ3 echoでのバッファサイズ変換 Angularのイベント処理 Angularを使っていて楽なのはHTMLタグにインベン …

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-66ecb8c …

no image

PHPで配列の同一性(集合のチェック)

AとBという配列があり、A⊂B つまりは集合のような関係を確かめたいときに下記のようなメソッドを使います。  

アーカイブ