ホームページ  >  記事  >  バックエンド開発  >  PHPの匿名関数の簡単な紹介

PHPの匿名関数の簡単な紹介

怪我咯
怪我咯オリジナル
2017-07-12 14:42:221429ブラウズ

匿名関数 (匿名関数) はクロージャとも呼ばれ、指定された名前なしで関数を一時的に作成できます。ほとんどの場合、callback function(callback) パラメーターの値として使用されます。もちろん、他のアプリケーションもあります。

匿名関数は現在、Closure クラスを通じて実装されています。

クロージャ関数は変数の値としても使用できます。 PHP は、この を組み込みクラス Closure のオブジェクト インスタンスに自動的に変換します。クロージャオブジェクトを変数に代入する方法は通常の変数代入の構文と同じで、最後にセミコロンを追加する必要があります:

この記事では主にPHPにおけるクロージャ(匿名関数)の簡単な分析を紹介しますこの記事では、使用例と実行効率のテストを示します。必要な方は、

使用方法を参照してください。integer

group要素の値を調整する必要があります

。コードは次のとおりです。

$data = range(0, 100);//想要每个元素的值都加上.html的后缀
$suffix = '.html';
function makeSuffix($str, $suffix)
{
    return $str . $suffix;
}
$new_data = array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);

要素を変更する必要があります 構造

のコードは次のとおりです:

$arr = [
    [
        'id'=>'',
        'name'=>'',
        'create_time'=>'',
    ],
];
$new_data = array_map(function($item) {
    return ['id'=>$item['id'],'name'=>$item['name']];
}, $arr);
//

foreach

を使用している場合は、

ループ

でゼロ時間変数を作成する必要もあります。この変数に必要な値を代入します実行効率

コードは次のとおりです:

$data = range(0, 50000)
//1
foreach ($data as &$value) {
    $value = makeSuffix($value, $suffix);
}
//2
foreach ($data as $value) {
    $new[] = makeSuffix($value, $suffix);
}
//3
array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);
5Wの実行後、結果1〜3から、ほとんどの場合、実行時間は順番に増加します。実行結果時間は次のとおりです

コードは次のとおりです:

1:0.0260009765625
2:0.038002014160156
3:0.047003030776978

結論

Closed パッケージのコードは比較的エレガントですが、ロジックは混乱しやすく、実行効率は比較的低くなります他の方法と同様であるため、使用には注意が必要です。コード構造が複雑でカプセル化する必要がある場合に使用することをお勧めします。

以上がPHPの匿名関数の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。