Maison > Article > développement back-end > Quelle est la différence entre foo() et @foo() en php
La différence entre "foo()" et "@foo()" en PHP : "@foo()" est la sortie du contrôle d'erreur, toutes les erreurs seront ignorées, "foo()" est la sortie normale sortie d'appel. "@" est le suppresseur d'erreurs Lorsqu'il est placé avant une expression PHP, tous les rapports d'erreurs pour l'expression seront ignorés.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Opération La différence entre Foo() et @foo() :
@foo() est la sortie de contrôle d'erreur et foo() est la sortie d'appel normale.
@ est un suppresseur d'erreurs ; lorsqu'il est placé avant une expression PHP, toutes les erreurs dans l'expression seront ignorées ;
Le symbole @ peut ignorer les rapports d'erreurs en PHP, pour les expressions Certaines erreurs d'invite, mais certains n'affectent pas l'exécution de l'instruction. Vous pouvez ajouter @ avant l'expression.
Le symbole @ peut être placé avant les variables, les fonctions, les appels include(), les constantes, etc., mais @ ne peut pas être placé avant la définition des fonctions et des classes, ni avant les instructions de structure conditionnelle
par exemple : if, switch, while, for et foreach, etc.
Extension : Tous les points de test des opérateurs PHP
1) Priorité de l'opérateur PHP (de haut en bas)
- incrémenter/décrémenter
- !
- opérateur arithmétique
- Comparaison de taille
- (Pas)Comparaison d'égalité
- Citation
- Opérateur de bit (^)
- Opérateur de bit (|)
- logique et
- logique ou
- trinoculaire
- affectation
- et
- xor
- ou
Remarque : L'utilisation de parenthèses peut augmenter la lisibilité du code. Il est recommandé d'utiliser
2) Opérateurs de comparaison : La différence entre et ==
===
== compare si les valeurs sont égales === compare si les valeurs sont égaux et ont le même type.
- Jugement d'égalité (sept cas de FAUX)
- if ('== false') {
echo '';
} elseif ('0' == 0 ) {
echo '';
} elseif (0.0 == 0) {
echo '';
}
Remarque :Les sept cas de FAUX sont satisfaits :
entier 0
- virgule flottante 0,0
- chaîne zéro '0'
- chaîne vide'' "
- tableau vide array()
- null
- boolean false
3) Opérateurs d'incrémentation/décrémentation
Les opérateurs d'incrémentation/décrémentation n'affectent pas les valeurs booléennes
① Effet de court-circuittrue++; 🎜>
Décrémentation de la valeur NULL n'a aucun effet ; l'incrémentation de la valeur NULL est 1 ;- true–; // true
- false++; // false
- false–; // false
- NULL–; // NULL
4) Opérateurs logiques
- NULL++; arrivés en premier, ils seront d'abord opérés puis restitués ; sinon, ils seront rendus en premier puis exploités
$a = true || $b == 3; // 前面是 true,后面不会执行【|| : 一真为真】 $b = false && $a == 1; // 前面是 false,后面不会执行【&&:一假为假】
② et ont des priorités différentes de
et
// 先执行 false || true,得到 true,再赋值给 $a $a = false || true; // $a = true; // 先执行 $b = false,整体为 true,则 $b的值为 false $b = false or true; // $b = false;
Étude recommandée : "||
Tutoriel vidéo PHP&&
" or
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!