現在の位置: ホーム> 最新記事一覧> PHPでパラメーターを受信する匿名関数の正しい方法と例分析

PHPでパラメーターを受信する匿名関数の正しい方法と例分析

M66 2025-07-26

PHPにおける匿名関数の役割

閉鎖とも呼ばれる匿名関数は、実行時に関数を動的に定義するためにPHPによってサポートされるメカニズムです。このタイプの関数には名前がなく、変数に直接割り当てる、パラメーターとして渡されるか、コールバックやその他のシナリオに使用できます。現代のPHPプログラミングでは非常に一般的です。

匿名関数のパラメーター受信構文

PHPでパラメーターを受信する匿名関数を定義するための基本的な構文は次のとおりです。

 function($argument1, $argument2, ..., $argumentN) {
    // 関数本体
}

任意の数のパラメーターを通常の関数のような匿名関数に渡すことができます。

パラメーターが渡されます

匿名関数のパラメーターは、価値によって、および参照によって2つの方法で渡すことができます。

値を渡すと、関数内のパラメーターの変更は外部変数に影響しません。

 // 価値を渡します
$increment = function($number) {
    return $number + 1;
};

echo $increment(5); // 出力:6

参照ごとに渡され、 シンボルが使用され、関数内のパラメーターの変更が関数の外側に同期して反映されます。

 // 参照で渡されます
$double = function(&$number) {
    $number *= 2;
};

$value = 4;
$double($value);
echo $value; // 出力:8

実用的なアプリケーションの例

匿名関数の実際のアプリケーションは非常に広範であり、以下はそれらの一般的な用途を説明する2つの例です。

基準に一致するアレイ内の要素を見つけます

Array_Filter関数を組み合わせて、匿名関数を使用して、特定の条件を満たす配列の要素をすばやくフィルタリングします。

 $numbers = array(1, 2, 3, 4, 5);

$evenNumbers = array_filter($numbers, function($number) {
    return $number % 2 == 0;
});

print_r($evenNumbers); 
// 出力:Array ( [1] => 2 [3] => 4 )

文字列内の非空間文字のASCII値を計算する

匿名関数は、文字処理などの高度なアプリケーションでも使用できます。

 $string = "Hello, world!";

$lengthWithoutSpaces = 0;

array_walk(str_split($string), function($character) use (&$lengthWithoutSpaces) {
    if (ord($character) != 32) {
        $lengthWithoutSpaces++;
    }
});

echo $lengthWithoutSpaces; // 出力:12

要約します

PHPの匿名関数は、構文だけでなく、強力でもあります。柔軟なパラメーターの合格方法をサポートし、関数内に直接入力値または参照を使用できます。これは、コードの読みやすさとモジュール性を改善するのに非常に役立ちます。毎日の開発では、匿名関数の使用を習得することは、効率的なPHPコードを作成することの重要な部分です。