関数仕様編 その13 (匿名関数と無名関数 その3)

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「関数仕様編 その13 (匿名関数と無名関数 その3)」を公開しました。
匿名関数に続きまして、今回は「無名関数」を学んでいきましょう。

無名関数は、5.3.0で導入されたものになります。
無名関数(Anonymous functions)は、クロージャ(closures)とも呼称されます。
ちなみにクロージャの定義を「引数以外の変数は、実行時の環境ではなくて自身の定義時の環境で解決される」
とすると、PHPの無名関数は「だいたい」クロージャになります。

さて。
匿名関数と無名関数を併記して、無名関数をみていきましょう。

コードその1
匿名関数
$b = create_function(‘$a’, ‘echo $a . “\n”;’);
$b(‘test’);

無名関数
$b = function($a) { echo $a . “\n”;};
$b(‘test’);

コードその2
匿名関数
$a = array(3, 2, 5, 6, 1);
usort($a, create_function(‘$a, $b’, ‘if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1;’));
var_dump($a);

無名関数
$a = array(3, 2, 5, 6, 1);

この続きは以下をご覧ください
http://resocia.jp/column/1650/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

NDA
Non-Disclosure Agreementの略。一般には「秘密保持契約」と ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]