ホームページ >バックエンド開発 >PHPチュートリアル >PHP のクロージャ (匿名関数) の簡単な分析、php_PHP チュートリアルの簡単な分析

PHP のクロージャ (匿名関数) の簡単な分析、php_PHP チュートリアルの簡単な分析

WBOY
WBOYオリジナル
2016-07-13 10:07:411020ブラウズ

PHPのクロージャ(無名関数)の簡単な分析、phpの簡単な分析

クロージャは匿名関数とも呼ばれ、PHP5.3で導入されました。

使い方

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

コードをコピーします コードは次のとおりです:

$data = range(0, 100);//各要素の値に .html 接尾辞を追加したい
$suffix = '.html';

関数 makeSuffix($str, $suffix)
{
$str を返します;
}

$new_data = array_map(function($item) use ($suffix) {
makeSuffix($item, $suffix)を返します;
}, $data);

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

コードをコピーします コードは次のとおりです:

$arr = [
[
'id'=>'',
'名前'=>'',
'create_time'=>'',
]、
];

$new_data = array_map(function($item) {
戻り値 ['id'=>$ite​​m['id'],'name'=>$ite​​m['name']];
}, $arr);
//foreach を使用している場合は、ループ内にゼロ時間変数を作成し、必要な値をこの変数に割り当てる必要があります

実行効率

コードをコピーします コードは次のとおりです:

$data = range(0, 50000)
//1
foreach ($data として &$value) {
$value = makeSuffix($value, $suffix);
}

//2
foreach ($data を $value として) {
$new[] = makeSuffix($value, $suffix);
}

//3
array_map(function($item) use ($suffix) {
makeSuffix($item, $suffix)を返します;
}, $data);


5W実行後、結果1~3を見ると、ほとんどの場合、実行時間が順次増加しています。 実行結果時間の1つは次のとおりです
コードをコピーします コードは次のとおりです:

1:0.0260009765625
2:0.038002014160156
3:0.047003030776978

結論

クロージャのコードは比較的洗練されていますが、ロジックが混乱しやすく、実行効率が他のメソッドに比べて比較的低いため、使用には注意が必要です。コード構造が複雑でカプセル化する必要がある場合に使用することをお勧めします。

この記事が、PHP を使用したことがない学生や、PHP クロージャについて質問がある学生に役立つことを願っています。何か問題がある場合は、お気軽にコメントしてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/954659.html技術記事 PHP のクロージャ (匿名関数) の簡単な分析 PHP のクロージャ (匿名関数とも呼ばれます) の簡単な分析は、PHP5.3 で導入されました。 使用方法: 配列要素の値を調整する必要があります。コードは次のとおりです: $data = rang...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。