Maison > Article > développement back-end > Explication détaillée des exemples d'utilisation de fermeture et des exemples de tests d'efficacité d'exécution en PHP
Cet article présente principalement une brève analyse des fermetures (fonctions anonymes) en PHP. Cet article donne un exemple d'utilisation et un test d'efficacité d'exécution. Les amis dans le besoin peuvent s'y référer
Closures. sont également appelées fonctions anonymes introduites dans PHP5.3.
Méthode d'utilisation
Vous devez ajuster la valeur dans l'élément de groupe entier
Le code est comme suit :
$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);
Besoin de changer la structure de l'élément
Le code est le suivant :
$arr = [ [ 'id'=>'', 'name'=>'', 'create_time'=>'', ], ]; $new_data = array_map(function($item) { return ['id'=>$item['id'],'name'=>$item['name']]; }, $arr); //如果是用foreach还需要在循环里面建立零时变量,把需要的值赋给这个变量
Efficacité d'exécution
Le code est le suivant :
$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);
Après 5W exécutions, à partir des résultats 1 à 3, le temps d'exécution augmente dans la plupart des cas, et le temps de résultat d'exécution de l'un d'eux est le suivant
Le code est le suivant :
1:0.0260009765625 2:0.038002014160156 3:0.047003030776978
Conclusion
Le le code de fermeture est relativement élégant, mais la logique est facile à confondre et l'efficacité d'exécution est relativement faible par rapport aux autres méthodes et doit être utilisée avec prudence. Il est recommandé de l'utiliser lorsque la structure du code est désordonnée et doit être encapsulée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!