ホームページ > バックエンド開発 > PHPチュートリアル > ラムダと通常の機能の実際の違い(PHPを使用)

ラムダと通常の機能の実際の違い(PHPを使用)

Susan Sarandon
リリース: 2025-01-30 00:22:09
オリジナル
335 人が閲覧しました

The Actual Difference Between Lambda and Regular Functions (Using PHP)

関数のコンテキストの問題

関数をパラメーターとして渡す場合、関数の外側の変数を使用する必要がある場合は、

キーワードを使用する必要があります。

useこれは、LaravelまたはLumenのグループルートで一般的です。

キーワードの使用が必要であることに注意してください:

use上記のコードはLumenの文書から取得されます。 Lambda関数(矢印関数)を使用してこのコードの書き換えに使用すると、関数内の他のすべての変数を関数内で使用できます。

<code class="language-php">$router->group(['prefix' => 'admin'], function() use ($router) {
    $router->get('users', function() {
        // 匹配 "/admin/users" URL
    });
});</code>
ログイン後にコピー
Lambda関数の書き換え

ここでは、キーワード

を使用する必要はないことに注意してください。コードはより簡潔になります。

useこれは、Lambda関数の最も重要な機能の1つです。これは、Lambda関数が閉鎖を作成できるようにします(この記事の議論の範囲内ではありません)。

その他の状況
<code class="language-php">$router->group(['prefix' => 'admin'], fn() => (
    $router->get('users', fn() => (
        // 匹配 "/admin/users" URL
    ));
));</code>
ログイン後にコピー

他の言語では、

キーワードはありません。関数はその周りのコンテキストを知りません。 この場合、同様の動作を達成する方法は?

毎回変数をパラメーターとして渡す必要がありますが、これは本当に私たちが望むものではありません。 use

以上がラムダと通常の機能の実際の違い(PHPを使用)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート