PHP détermine les instances PHP 0 et vides via diverses fonctions

jacklove
Libérer: 2023-04-01 18:32:02
original
2086 Les gens l'ont consulté

Cet article vous présente la méthode de jugement de 0 et vide en PHP et diverses fonctions. Dans l'article, je vous présente également la solution selon laquelle 0 n'est pas égal à null dans la syntaxe PHP. Les amis intéressés peuvent suivre l'éditeur de. Site Web PHP chinois. Apprenez

Le jugement de la fonction de 0

   $cast_id = 0;
    var_dump(strlen($cast_id));  //1
    var_dump(empty($cast_id)); // true
    var_dump(isset($cast_id)); //true
    var_dump(is_null($cast_id));//false
Copier après la connexion

Le jugement de null

    $cast_id = "";
    var_dump(strlen($cast_id));  //0
    var_dump(empty($cast_id)); // true
    var_dump(isset($cast_id)); //true
    var_dump(is_null($cast_id));//false
Copier après la connexion

Supplément : laissez-moi vous présenter la solution au problème selon lequel 0 n'est pas égal à null en PHP syntaxe

J'ai rencontré un tel problème aujourd'hui : dans l'instruction php, je veux déterminer si une valeur est supérieure ou égale à 0. J'ai utilisé ($value !=null && $value >=0), et le le résultat renvoyé était vide, ce qui est vraiment bien.

Résumé de l'expérience :

La déclaration php est la suivante :

$index=0;
echo "A: ".$index."<br>"; //0
echo "B: ".($index !=null && $index >=0)."<br>";//
echo "C: ".(isset($index) && $index >=0)."<br>";//1
echo "D: ".(0 !=null)."<br>";//
Copier après la connexion

Résultat :

A : 0
B :
C : 1
D :

Pour déterminer si une valeur [le tableau peut être vide, etc.] est supérieur ou égal à 0, vous pouvez utiliser une autre méthode One : is_numeric($index) === true

$index=array_search($url, $contentOtherStr, true);
 //值大于等于0, 即存在
if(is_numeric($index) === true)
 {
echo "$url existed. "."<br>";
 }else{
echo "$url Add. "."<br>";
array_push($contentOtherStr, $url);
 }
Copier après la connexion

C'est très étrange et finalement résolu. Marque.

Résumé : les déclarations de PHP sont un peu bizarres. Les étudiants qui ont été transférés d'autres langages de programmation doivent être plus prudents et faire attention à la pensée inertielle et aux différences grammaticales pour éviter de tomber dans des pièges.

Autres informations :

La raison est que les variables en PHP sont stockées dans des structures en langage C. Les chaînes vides, NULL et false sont toutes basées sur des valeurs 0. stocké, et cette structure a un type zend_uchar ; une telle variable membre est utilisée pour enregistrer le type de la variable, et le type de la chaîne vide est une chaîne, le type de NULL est NULL et false est booléen.

Vous pouvez imprimer ceci en utilisant echo gettype(''); et echo gettype(NULL); ! L'opérateur === compare non seulement les valeurs, mais compare également les types, donc le troisième est faux !

De plus, en PHP

= un signe égal est une affectation
== Deux signes égaux sont utilisés pour juger de l'égalité et comparer uniquement les valeurs, pas les types
=== Trois les signes égaux sont utilisés pour juger que les valeurs et les types sont égaux
!= Pas de signe égal, comparez uniquement les valeurs, quel que soit le type
!== Signe incongru, comparez les valeurs et les types

donc Chaîne vide (''), false, NULL et 0 sont égaux en valeur mais différents en type !

Remarque :

NULL est un type spécial.

NULL dans les deux cas

1. $var = NULL;
2. $var ;
3."", 0, "0", NULL, FALSE, array(), var $var; et les objets sans aucun attribut seront considérés comme vides. Si var est vide, renvoie TRUE.

Articles qui pourraient vous intéresser :

conseils php pour identifier les photos inversées prises par iPhone

Implémentation PHP de la fonction de vérification du code de vérification de connexion, exemple php

Comment utiliser Composer pour installer ThinkPHP5 dans un environnement Windows

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:
php
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