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

テンプレートエンジンTwigについて

SmartyにかわるテンプレートエンジンとしてTwig(ツィッグ)を勉強中。 といってもテンプレートエンジンなので基本的なことはほとんど一緒っぽいですが。 Contents1 インストール2 基本的な …

no image

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

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

no image

PHP7に関して

先週きづいたのですが、PHPが5.6から7になりましたね。 まあ当分はまだPHP5で開発していきますが、herokuがいきなり7になり、アプリが動かないということが起こりました。 7対応させたかったん …

no image

PHPでの画像ダウンロード

PHPで画像ダウンロードをさせる処理があったのでちょっとメモ。 CSVのダウンロードなどと同じように基本的にはHTTPリクエストの応答メッセージをいじるようです。 書こうと思ったのですが、ほぼリンクの …

no image

PHPにおけるstaticキャッシュ

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