skillup

技術ブログ

PHP

PHPの無名関数+array系の関数

投稿日:

PHPの無名関数について。

PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。

今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモです。

無名関数とは?

基本的な使用法

その名のとおり、名前のない関数のことです。JavaScriptなんかでは大量にでてきますが、下記のようなソースです。別名クロージャーともいわれるようです。

http://php.net/manual/ja/functions.anonymous.php

array_map系

無名関数と同時に扱われやすい、array_map,array_walk,array_filter,array_column,array_reduceなど。

http://qiita.com/ArimaRyunosuke/items/6a76f21f9d79e8695fc7
http://qiita.com/asigochan/items/6e27405b6d385786c6c9

useを使ったバインディング

本来PHPは関数外の変数を使用することはできませんが、useを使うことで引数としてではなく、関数外の値を使うことができます。また参照渡しにすることで遅延バインディングも可能です。

http://hensa40.cutegirl.jp/archives/2436

-PHP

執筆者:


comment

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

関連記事

no image

Laraevelのミドルウェアについて

以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。 Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らか …

no image

laravelでのredis活用

以前下記エントリーでredisの活用について書きました。 インメモリデータベース redis 一般的な使用法ですと登録できるデータはstring,list,hashのような比較的単純な形しか登録できな …

no image

PHPのオートローディング

大規模開発では扱うファイルが増えるため、必要なクラスの読み込みが煩雑になるケースが多いです。 Contents1 従来のPHPのファイルのロード2 オートローディングとは3 サンプルソース4 メモ5 …

no image

エラーハンドリング

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

no image

ループ処理+switch

PHPでちょっと小ネタ foreachやwhileのようなループを抜けるときにcontinueを使うんですが、その中にswitchが入っていると、switchに対してのcontinueがきいてしまって …