Optimisation des performances PHP : isset() est plus rapide que strlen()

小云云
Libérer: 2023-03-17 16:38:01
original
2297 Les gens l'ont consulté

De nombreux programmeurs aiment utiliser les fonctions strlen() mb_strlen() pour juger de la longueur des chaînes. Bien qu'ils aient testé professionnellement la longueur des chaînes, ils ne savent pas que les fonctions strlen() mb_strlen() ne sont pas les plus populaires. . Bien. En fait, lorsque PHP détermine la longueur d'une chaîne, l'utilisation de isset() est plus rapide que strlen() et a une plus grande efficacité d'exécution. Pour déterminer la longueur d'une chaîne en PHP, utiliser isset() est plus rapide que strlen() et offre une efficacité d'exécution plus élevée.

Alors pourquoi isset() plus rapide que strlen() ?

La fonction strlen() s'exécute assez rapidement car elle n'effectue aucun calcul et renvoie simplement la longueur de chaîne connue stockée dans la structure zval (la structure de données intégrée de C utilisée pour stocker les variables PHP). Cependant, puisque strlen() est une fonction, elle sera quelque peu lente, car l'appel de fonction passera par de nombreuses étapes, telles que les lettres minuscules et la recherche de hachage, et sera exécuté avec la fonction appelée. Par conséquent, dans certains cas, une utilisation raisonnable de isset() peut accélérer votre programme. Parce que isset() est une construction de langage, son exécution ne nécessite pas de recherche de fonction ni de lettres minuscules, etc.

Des exemples spécifiques de détermination de la longueur d'une chaîne via isset() et strlen() sont les suivants :

 $str='http://www.phpernote.com/php-template/436.html';    
 if(strlen($str)<5){echo "未满5";}    
if(!isset($str{5})){echo "未满5";}
Copier après la connexion

Analysons les deux fonctions strlen() et isset() en détail .

Fonction PHP strlen()

Définition et utilisation

La fonction strlen() renvoie la longueur d'une chaîne.

Syntaxe : strlen(string)

Paramètres : string
Description : Obligatoire. Spécifie la chaîne à vérifier.

Instance de fonction strlen()

<?php    
 echo strlen("Hello world!");    
?>
Copier après la connexion

Le résultat sera affiché :

12

Fonction PHP isset()

Fonction isset Il s'agit de vérifier si la variable est définie.

Syntaxe : bool isset ( Mixed var [, Mixed var [, ...]] )

Valeur de retour :

Si la variable n'existe pas, renvoie FALSE
Si la variable existe et que sa valeur est NULL, elle renvoie également FALSE
Si la variable existe et que sa valeur n'est pas NULL, elle renvoie VRAI
Lors de la vérification de plusieurs variables en même temps, TRUE sera renvoyé uniquement lorsque chaque élément répond à l'exigence précédente. Sinon, le résultat est FALSE
Si une variable a été libérée en utilisant unset(), elle ne sera plus isset(). Si vous utilisez isset() pour tester une variable définie sur NULL, elle renverra FALSE. Notez également qu'un octet NULL ("") n'est pas équivalent à la constante NULL de PHP.

Attention : isset() ne peut être utilisé qu'avec des variables, car le passage de tout autre argument provoquera une erreur d'analyse. Si vous souhaitez vérifier si une constante a été définie, utilisez la fonction définie().

Ce qui précède est la raison pour laquelle isset() est plus rapide que strlen(). Vous pouvez le pratiquer.

Recommandations associées :

Explication détaillée de la façon d'utiliser les fonctions isset() et unset() en php

php renvoie la longueur de la fonction de chaîne strlen()

PHP obtient la fonction de longueur de chaîne fonction strlen()

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