Maison >développement back-end >Problème PHP >Quelle est la différence entre foo() et @foo() en php

Quelle est la différence entre foo() et @foo() en php

青灯夜游
青灯夜游original
2021-05-08 18:49:013039parcourir

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.

Quelle est la différence entre foo() et @foo() en php

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
    • true++; 🎜>
    • true–; // true
    • false++; // false
    • false–; // false
    Décrémentation de la valeur NULL n'a aucun effet ; l'incrémentation de la valeur NULL est 1 ;
  • NULL–; // NULL
    • NULL++; arrivés en premier, ils seront d'abord opérés puis restitués ; sinon, ils seront rendus en premier puis exploités
  • 4) Opérateurs logiques
① Effet de court-circuit
$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!

Déclaration:
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