Maison développement back-end tutoriel php php中0," ",null和false的区别

php中0," ",null和false的区别

Aug 08, 2016 am 09:26 AM
echo false null quot str

php中很多还不懂php中0,"",null和false之间的区别,这些区别有时会影响到数据判断的正确性和安全性,给程序的测试运行造成很多麻烦。
先看一个例子:

$str1 = null;

$str2 = false;

echo $str1==$str2 ? ‘相等’ : ‘不相等’;

$str3 = "";

$str4 = 0;

echo $str3==$str4 ? ‘相等’ : ‘不相等’;

$str5 = 0;

$str6 = '0';

echo $str5===$str6 ? ‘相等’ : ‘不相等’;

$str7=0;

$str=false;

echo $str7==$str8 ? ‘相等’ : ‘不相等’;

?>
运行结果:

//相等,相等,不相等,相等。
原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchartype;这样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。

这一点可以用echo gettype('');和echogettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第三个为false!
所以可以这样说===是等于下面的函数

functioneq($v1,$v2) {
if(
$v1==$v2&&gettype($v1) ==gettype($v2)) {
return
1;
} else {
return
0;
}
}

所以空字符串(''),false,NULL和0是值相等而类型不一样!

注意:

NULL是一种特殊的类型.
两种情况下为NULL
1. $var = NULL;
2. $var;3.""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返回 TRUE。

以上就介绍了php中0," ",null和false的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Jan 30, 2024 am 09:08 AM

À l'ère actuelle de développement technologique rapide, les langages de programmation poussent comme des champignons après la pluie. L'un des langages qui a beaucoup retenu l'attention est le langage Go, apprécié par de nombreux développeurs pour sa simplicité, son efficacité, sa sécurité de concurrence et d'autres fonctionnalités. Le langage Go est connu pour son écosystème solide avec de nombreux excellents projets open source. Cet article présentera cinq projets open source sélectionnés en langage Go et amènera les lecteurs à explorer le monde des projets open source en langage Go. KubernetesKubernetes est un moteur d'orchestration de conteneurs open source pour l'automatisation

Quelle est la différence entre null et NULL en langage C Quelle est la différence entre null et NULL en langage C Sep 22, 2023 am 11:48 AM

La différence entre null et NULL en langage C est la suivante : null est une définition de macro en langage C, généralement utilisée pour représenter un pointeur nul, qui peut être utilisé pour initialiser des variables de pointeur ou pour déterminer si le pointeur est nul dans une instruction conditionnelle ; NULL est une définition de macro en langage C. Une constante prédéfinie dans , généralement utilisée pour représenter une valeur nulle, utilisée pour représenter un pointeur nul, un tableau de pointeurs nuls ou un pointeur de structure nulle.

Que signifient indéfini et nul ? Que signifient indéfini et nul ? Nov 20, 2023 pm 02:39 PM

En JavaScript, non défini et null représentent le concept de « rien » : 1. undéfini représente une variable non initialisée ou une propriété inexistante lorsqu'une variable est déclarée mais qu'aucune valeur ne lui est attribuée, la valeur de la variable est undéfinie. lors de l'accès à des propriétés qui n'existent pas dans l'objet, la valeur renvoyée est également indéfinie ; 2. null représente une référence d'objet vide Dans certains cas, la référence d'objet peut être définie sur null pour libérer la mémoire qu'elle occupe.

Go : les essentiels du développement linguistique : 5 recommandations de framework populaires Go : les essentiels du développement linguistique : 5 recommandations de framework populaires Mar 24, 2024 pm 01:15 PM

"Go Language Development Essentials : 5 recommandations de framework populaires" En tant que langage de programmation rapide et efficace, le langage Go est favorisé par de plus en plus de développeurs. Afin d'améliorer l'efficacité du développement et d'optimiser la structure du code, de nombreux développeurs choisissent d'utiliser des frameworks pour créer rapidement des applications. Dans le monde du langage Go, il existe de nombreux excellents frameworks parmi lesquels choisir. Cet article présentera 5 frameworks de langage Go populaires et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser ces frameworks. 1.GinGin est un framework Web léger avec une rapidité

Quand utiliser null et non défini Quand utiliser null et non défini Nov 13, 2023 pm 02:11 PM

Null et indéfini indiquent tous deux un manque de valeur ou un état indéfini. Selon le scénario d'utilisation, il existe quelques principes directeurs pour choisir d'utiliser null ou undefined : 1. Lorsque vous devez indiquer clairement qu'une variable est vide ou non valide. peut utiliser null ; 2. Lorsqu'une variable a été déclarée mais qu'aucune valeur n'a encore été attribuée, elle sera définie sur non définie par défaut. 3. Lorsque vous devez vérifier si une variable est vide ou non définie, utilisez l'opérateur d'égalité stricte "= ; ==" pour déterminer si la variable est nulle ou indéfinie. .

Quelle est la différence entre nul et indéfini Quelle est la différence entre nul et indéfini Nov 08, 2023 pm 04:43 PM

La différence entre null et non défini est : 1. Signification sémantique ; 2. Scénarios d'utilisation ; 3. Comparaison avec d'autres valeurs ; 4. Relation avec les paramètres de fonction ; . Performances dans la sérialisation JSON ; 9. Relation avec les types. Introduction détaillée : 1. Signification sémantique, null signifie généralement savoir que cette variable n'aura aucune valeur d'objet valide, tandis qu'undéfini signifie généralement que la variable n'a pas reçu de valeur ou que l'objet n'a pas cet attribut ; , etc.

Développement Laravel : Comment implémenter la communication WebSockets à l'aide de Laravel Echo et Pusher ? Développement Laravel : Comment implémenter la communication WebSockets à l'aide de Laravel Echo et Pusher ? Jun 13, 2023 pm 05:01 PM

Laravel est un framework PHP populaire, hautement évolutif et efficace. Il fournit de nombreux outils et bibliothèques puissants qui permettent aux développeurs de créer rapidement des applications Web de haute qualité. Parmi eux, LaravelEcho et Pusher sont deux outils très importants grâce auxquels la communication WebSockets peut être facilement implémentée. Cet article détaillera comment utiliser ces deux outils dans les applications Laravel. Que sont les WebSockets ? WebSockets

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

See all articles