Maison > développement back-end > tutoriel php > Exemple d'analyse du jugement de type dans un langage PHP faiblement typé

Exemple d'analyse du jugement de type dans un langage PHP faiblement typé

黄舟
Libérer: 2023-03-14 20:46:01
original
1377 Les gens l'ont consulté

Cet article présente principalement l'opération de jugement de type dans le langage PHP faiblement typé, et analyse les compétences et précautions de conversion, de jugement et d'utilisation des fonctions pour les types de données en PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

.

L'exemple de cet article décrit l'opération de jugement de type dans un langage PHP faiblement typé. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. Lorsque PHP compare un nombre avec une chaîne ou effectue des opérations, PHP convertit la chaîne en nombre puis compare. Les règles de conversion PHP sont les suivantes : si la chaîne commence par un nombre, le numéro de départ sera utilisé comme résultat de la conversion, sinon, 0 sera affiché.

Par exemple : 123abc devrait être 123 après la conversion, et abc est 0, 0==0. Pour plus de détails, veuillez vous référer au manuel officiel : Si vous comparez un entier. et une chaîne, le caractère La chaîne sera convertie en un entier


$a = ($b=4)+5;
echo $a;  //9
echo &#39;<p>&#39;;
var_dump(1==&#39;1a&#39;);  //true
echo &#39;<p>&#39;;
var_dump(1==&#39;2a&#39;);  //false
echo &#39;<p>&#39;;
var_dump(1==&#39;a1&#39;);  //false
echo &#39;<p>&#39;;
var_dump("1"==&#39;1a&#39;);  //false
echo &#39;<p>&#39;;
var_dump(&#39;51a&#39;+6);  //57
echo &#39;<p>&#39;;
var_dump(&#39;a51&#39;+6);  //6
Copier après la connexion

2. En PHP, == effectuera d'abord la conversion de type puis comparera , tandis que === comparera d'abord les types. Si les types sont différents, inégal sera renvoyé directement. Reportez-vous à l'exemple suivant


$a = null;
$b = &#39;&#39;;
$c = 0;
echo ($a == $b) ? 1 : 0;  // 输出1
echo ($a === $b) ? 1 : 0;  // 输出0
echo ($a == $c) ? 1 : 0;  // 输出1
echo ($a === $c) ? 1 : 0;  // 输出0
echo ($b == $c) ? 1 : 0;  // 输出1
echo ($b === $c) ? 1 : 0;  // 输出0
Copier après la connexion

<. 🎜>3. Fonctions vides et isset en php

1) Lorsque les variables sont : 0, "0", null, '', false, array(), utilisez la fonction vide, et le les valeurs renvoyées sont toutes vraies

2) La variable n'est pas définie Ou lorsqu'elle est nulle, la fonction isset renvoie faux, et les autres ne sont pas vraies Pour juger


$a = null;
$b = &#39;&#39;;
$c = 0;
$d = "0";
$e = false;
$f = array();
var_dump(empty($a));  //true
echo &#39;<p>&#39;;
var_dump(empty($b));  //true
echo &#39;<p>&#39;;
var_dump(empty($c));  //true
echo &#39;<p>&#39;;
var_dump(empty($d));  //true
echo &#39;<p>&#39;;
var_dump(empty($e));  //true
echo &#39;<p>&#39;;
var_dump(empty($f));  //true
echo &#39;<p>&#39;;
var_dump(isset($a));  //false
echo &#39;<p>&#39;;
var_dump(isset($b));  //true
echo &#39;<p>&#39;;
var_dump(isset($c));  //true
echo &#39;<p>&#39;;
var_dump(isset($d));  //true
echo &#39;<p>&#39;;
var_dump(isset($e));  //true
echo &#39;<p>&#39;;
var_dump(isset($f));  //true
echo &#39;<p>&#39;;
var_dump(isset($g));  //false
Copier après la connexion

dans ce cas, il s'agit évidemment de juger si la chaîne abc contient a. Le résultat attendu devrait être la sortie 1. Le résultat réel La sortie est 2. En effet, lorsque la fonction strpos ne peut pas correspondre à la chaîne cible, elle renvoie false. Lorsqu'elle correspond à la chaîne cible, elle renvoie la chaîne cible. À la position d'index dans la chaîne de recherche, 0 est renvoyé ici. Il est correct de changer


par égal.
$sms = "abc";
if(strpos($sms,&#39;a&#39;) != false ){
  echo 1;
}else{
  echo 2;
}
Copier après la connexion

5. Les sauts de ligne nécessitent des guillemets doubles


$sms = "abc";
if(strpos($sms,&#39;a&#39;) !== false ){
  echo 1;
}else{
  echo 2;
}
Copier après la connexion

Si vous l'écrivez comme ceci, le fichier ressemblera à ceci. lorsque vous l'ouvrez 2016-09-02 08:04:04rn2016-09-02 08:04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:22 Façon correcte d'écrire C'est rn, mettez-le entre guillemets doubles

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