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

Explication détaillée des exemples d'utilisation de fermeture et des exemples de tests d'efficacité d'exécution en PHP

伊谢尔伦
伊谢尔伦original
2017-07-01 13:06:461350parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn