ホームページ >バックエンド開発 >PHPチュートリアル >PHPにおけるクロージャの使用例と実行効率テスト例を詳しく解説

PHPにおけるクロージャの使用例と実行効率テスト例を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-07-01 13:06:461378ブラウズ

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

PHP5.3 ではクロージャは匿名関数とも呼ばれます。 。

使用法

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

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

$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

結論

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

以上がPHPにおけるクロージャの使用例と実行効率テスト例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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