Aujourd'hui, j'ai vu que Caterpillar faisait une distinction entre les chaînes vides et NULL pour tout le monde ( http://bbs.phpchina.com/thread-99574-1-2.html ). J'ai l'impression de ne pas avoir une solide compréhension des bases. Les connaissances (comme moi) ont été très utiles. Il était tard dans la nuit, j'ai vérifié beaucoup d'"informations faisant autorité" et j'ai écrit un article et je l'ai posté ici pour aider tout le monde à apprendre les bases. pas rigoureux, et le contenu n'était qu'un résumé personnel, s'il y a des lacunes, veuillez ajouter plus d'experts. Sans plus tarder, le texte principal est le suivant :
1. La différence entre echo et print
Les fonctions echo et print en PHP sont
.fondamentalement le même (sortie), mais il existe encore des différences subtiles entre les deux. Il n'y a pas de valeur de retour après la sortie d'écho, mais print a une valeur de retour et renvoie false lorsque son exécution échoue. Par conséquent, elle peut être utilisée comme une fonction normale. Par exemple, après avoir exécuté le code suivant, la valeur de la variable $r sera 1.
Code :
$r = imprimer "Hello World" ;
Cela signifie que print peut être utilisé dans certaines expressions complexes, mais echo ne le peut pas. Cependant, comme l'instruction echo ne nécessite le renvoi d'aucune valeur, l'instruction echo dans le code s'exécute légèrement plus rapidement que l'instruction print.
2. La différence entre include et require.
Les fonctions de include() et require() sont fondamentalement les mêmes (include), mais il existe quelques différences d'utilisation. include() est une fonction d'inclusion conditionnelle, tandis que require() est une fonction d'inclusion conditionnelle. fonction d'inclusion inconditionnelle. Par exemple, dans le code suivant, si la variable $a est vraie, le fichier a.php sera inclus :
Code :
si($a){
include("a.php");
}
Cependant, require() est différent de include(). Quelle que soit la valeur de $a, le code suivant inclura le fichier a.php dans le fichier :
Code :
si($a){
require("a.php");
}
En termes de gestion des erreurs, utilisez l'instruction include. Si une erreur include se produit, le programme ignorera l'instruction include. Bien que le message d'erreur s'affiche, le programme continuera à s'exécuter ! Mais require vous donnera une erreur fatale.
Bien sûr, nous pouvons aussi comprendre Qifen littéralement : require signifie une demande ou une demande très forte.
3. Les instructions require_once() et include_once()
sont hors sujet, car elles se ressemblent. Les instructions simples require_once() et include_once() correspondent respectivement aux instructions require() et include(). Les instructions require_once() et include_once() sont principalement utilisées lorsque plusieurs fichiers doivent être inclus, ce qui peut efficacement éviter l'erreur de définition répétée de fonctions ou de variables provoquée par l'inclusion du même morceau de code.
4. La différence entre une chaîne vide ('') et NULL.
En PHP, les chaînes vides et NULL sont stockées avec une valeur de 0, mais leurs types sont différents. NULL); Vous constaterez que ce qu'ils affichent est respectivement une chaîne et NULL. Bien sûr, 0 est également facile à confondre. Vous pouvez essayer echo gettype(0); entier). , on peut voir que la chaîne (''), NULL et 0 sont des "valeurs égales" mais pas des types égaux.
5.! La différence entre isset et vide
peut être comprise à partir du sens littéral : vide sert à déterminer si une variable est "vide", tandis que isset sert à déterminer si une variable a été définie. Mais il y a une chose à laquelle vous devez faire attention ici : lorsque la valeur d'une variable est 0, vide considère la variable comme égale à vide, c'est-à-dire qu'elle équivaut à aucun paramètre. Par exemple, lorsque nous détectons la variable $id, lorsque $id=0, nous utilisons vide et isset pour détecter si la variable $id a été configurée. Les deux renverront des valeurs différentes : vide pense qu'elle n'est pas configurée et isset peut obtenir. la valeur de $id , regardez l'exemple ci-dessous :
Code? :
$id=0;
empty($id)?print "Je suis vide":print "Je suis $id." //Résultat : Je suis vide
!isset($id)?print "Je suis vide":print "Je suis $id.";//Résultat : Je suis 0
6. La différence entre == (égal) et === (égal).
Examinez la différence entre la quatrième chaîne vide ("") et NULL ci-dessus et regardons un exemple :
Code :
'' == NULL ;
'' === NULL;
Après l'avoir exécuté, vous constaterez que le premier est vrai et le second est faux ! On peut voir que == compare uniquement si les valeurs sont égales, tandis que === compare non seulement les valeurs, mais compare également les types, ce qui est plus strict.