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

PHP_CodeSnifferによるコードチェック

昨日の記事でphpmdという静的解析ツールを調査したんですが、それ以外にも規約にのっとっているかどうかコーディングをチェックできるツールはあります。 PHP_CodeSniffer https://g …

no image

PHPでの日付関数の扱い方

このブログの投稿数ももう少しで150近くになりました。 で、9割以上がJavaなんですが、私はPHPのスクールを運営しています(笑) ということでPHPのスキルを忘れてはいけないということで、今日はち …

no image

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、 "The mcrypt extension is missing. Please check your PHP configuration." なるエラー …

no image

エラーハンドリング

エラーが起きた時にPHPだと画面に出ますが(出ない場合は画面が白くなります)、これを検知し、ログに吐いたり任意の処理をできるのがエラーハンドリングです。 フレームワークなどにはほぼこの仕組みが内在して …

no image

アプリケーションアーキテクチャについて 〜ドメインモデルに関して〜

前回のトランザクションスクリプトパターンの反省から 今回はいわゆるドメインモデルの具体例に関して。 ドメイン駆動型設計には以下のような特徴があります。 大きく、アプリケーションの構成を以下のように分け …