この記事では主に 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 サイトの他の関連記事を参照してください。