無名関数
CoddyのPHPジャーニー「論理とフロー」セクションの一部。レッスン 1/68。
匿名関数はクロージャとも呼ばれ、指定された名前を持たない関数です。完全な名前付き関数を作成するまでもない、短時間で一度だけ行うタスクに最適です。
anonymous関数を作成するには、関数名なしでfunctionキーワードを使用し、それを変数にassignします。
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>閉じ中括弧の後にあるセミコロンに注目してください。これは、関数を変数に代入しているため必要です。
anonymous function を呼び出すには、variable name の後に括弧を付けます:
<?php
$greeting("Alice"); // 出力: Hello, Alice!
?>anonymous 関数は、一度しか使わない名前付き関数でコードを乱雑にすることなく、特定のタスク用のシンプルな関数が必要な場合に特に便利です。
チャレンジ
簡単数値をパラメータとして受け取り、その数値の二乗を返す anonymous function を作成します。この function を $square という variable に assign します。
input として number を受け取ります。number を Read し、この anonymous function を number とともに Call して、result を print します。
Input format: 1つの number(小数を含む場合があります)
Expected output: input number の square
自分で試してみよう
<?php
// 入力を読み取る
$number = floatval(fgets(STDIN));
// TODO: 匿名関数を作成して $square 変数に代入する
// 関数を呼び出して結果を出力する
echo $square($number);
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
論理とフローのすべてのレッスン
自分で練習してみよう: PHPオンラインコンパイラ