ホームページ > バックエンド開発 > PHPチュートリアル > [PHP 学習] 匿名関数を使用するための 6 つのヒント

[PHP 学習] 匿名関数を使用するための 6 つのヒント

little bottle
リリース: 2023-04-06 09:32:02
転載
2457 人が閲覧しました

この記事では主に、匿名関数を使用するための 6 つのヒントについて説明します。これには一定の学習価値があります。興味のある友人は学習できます。

以前にクロージャの使用法に関する記事を書きました (ここをクリックして入力してください)。今回は、PHP における匿名関数の詳細な使用法と理解を詳しくまとめます:

PHP の匿名関数はクロージャ関数とも呼ばれ、名前なしで関数を指定できます。匿名関数を変数に割り当て、変数を通じて呼び出します。これは簡単な例です:

<?php$anonymousFunc = function($username){    
    echo $username;
  };
  $anonymousFunc("乔峰!");
ログイン後にコピー

ヒント 1: 匿名関数を通常の関数に入れるか、またはanonymous function. : これは単純なクロージャを形成します

<?php
function closureFunc(){
    $anonymousFunc = function(){
        echo "乔峰!";
    };
    $anonymousFunc();//普通函数内部调用了匿名函数
}
closureFunc();//输出: 乔峰
ログイン後にコピー

ヒント 2 無名関数でローカル変数を参照します (ここでは php キーワードを引用する必要があります)

<?php

function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    $anonymousFunc();//此处调用了匿名函数
}
closureFunc();//输出: 乔峰
ログイン後にコピー

ヒント 3 通常の関数で匿名関数を返す

<?php

function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    return $anonymousFunc;// 函数返回匿名函数
}
$func = closureFunc();
$func(); //然后调用$func()
ログイン後にコピー

ヒント 4 無名関数を返し、匿名関数にパラメータを渡す

<?php

function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function($lover,$skill) use($username){
        echo $username.$lover.$skill;
    };
    return $anonymousFunc;
}
$func = closureFunc();
$func("阿朱","擒龙手");//乔峰阿朱擒龙手
ログイン後にコピー

ヒント 5 コンテキストが参照する変数の値を変更するにはクロージャを使用する

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use($number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100
$func();// 调用函数的返回值 $anonymousFunc  $number++ 即为101
$func(); //101
$func();//101
ログイン後にコピー

上記の入力結果から、次の 2 つの func() は両方とも 101 を返し、値は変化していないことがわかります。効果を蓄積したい場合は、 & 参照記号を追加するだけで十分です (匿名関数内の変更は外部変数にも影響します)。

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use(&$number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100
$func();// 调用函数的返回值 $anonymousFunc  $number++ 即为101
$func(); //102
$func();//103
ログイン後にコピー

ヒント 6 匿名関数を渡します。パラメータとしての関数

<?php
//定义普通函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}

myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc
    echo $username;
});//输出 乔峰
ログイン後にコピー

関連チュートリアル: PHP ビデオ チュートリアル

以上が[PHP 学習] 匿名関数を使用するための 6 つのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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