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

伊谢尔伦
Libérer: 2023-03-12 09:50:01
original
1345 Les gens l'ont consulté

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);
Copier après la connexion

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还需要在循环里面建立零时变量,把需要的值赋给这个变量
Copier après la connexion

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);
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal