skillup

技術ブログ

PHP

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

投稿日:

配列系の処理を関数型で行いたいときに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は複数キーでも行けるようです。

参考リンク

https://quartet-communications.com/info/topics/17506

-PHP
-, ,

執筆者:


comment

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

関連記事

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …

no image

CakePHP3 日付ライブラリ(Time)について

CakePHPには標準でいろいろなライブラリが入っていますが、日付ではCake\I18n\Timeというライブラリが入っています。 内部では3.2より前のバージョンではCarbonだったようですが、そ …

no image

PHPにおけるstaticキャッシュ

PHPにおけるstaticキャッシュに関して。 PHPのおけるキャッシュはいくつかありまして、一般的にはmemcachedなどのKVS方式のキャッシュサーバーなどを使う方法が一般的かと思います。 キャ …

no image

PHPでの空白削除に関して

PHPで空白を削除する方法についてメモします。 trimについて 空白を削除する関数といえばtrimが何といっても一番有名でしょう。

no image

Cakeの共通処理

CakePHPだけに限りませんが、フレームワークの場合、オブジェクト指向の特徴を理解して、全ページに共通な処理などは個々のコントローラーに書くのではなく、もっと抽象度の高いクラスに書いたほうが保守性が …