L'opérateur ternaire en PHP vous permet d'écrire simples déclarations " if-else " avec une ligne de code plutôt que de deux à cinq lignes de code qui pourraient être requises pour une déclaration " if-else " . Il peut aider à raccourcir les temps de codage et peut faire un programme plus facile à comprendre et plus maintenable . L'opérateur ternaire évaluera une expression conditionnelle et retourner le résultat d' une instruction si c'est vrai et une autre déclaration si elle est fausse . Elle remplace la déclaration suivante: if ($ x <0 ) { $ result = " négative ";} else { $ result = " pas négatif ";} avec cette déclaration: $ result = $ x <0 ? «négatif» : « négative» ; Lorsque vous utilisez l'opérateur ternaire , suivre la syntaxe documentée pour les expressions et faire preuve de prudence lors de la création des expressions plus complexes qui impliquent des instructions et variables passés par référence imbriquées. Syntaxe
construire une déclaration auprès de l'opérateur conditionnel ternaire en utilisant une expression conditionnelle , suivie par un point d'interrogation et une déclaration d'évaluer si l'expression conditionnelle est vrai, suivi de deux points et une déclaration d'évaluer si l'expression conditionnelle est fausse. Par exemple, l' instruction suivante affecte true ou false à la variable " is_teenager " fondée sur l'âge d'une personne :
$ is_teenager = ( $ age > = 13 && $ age < = 19 ) ? faux: vrai ;
omission du Moyen
PHP version 5.3 ou ultérieure, vous pouvez créer une expression encore plus abrégée en utilisant l'opérateur ternaire en omettant le milieu de la déclaration et en utilisant la première expression à la fois l'expression conditionnelle et la valeur à retourner si l'expression conditionnelle est vrai . Créer une instruction conditionnelle , suivie par un point d'interrogation et un colon , suivie par la déclaration d'évaluer si l'expression conditionnelle est fausse. Si l'expression conditionnelle est vrai, le résultat est vrai . Par exemple , l'expression suivante retourne vrai si l'âge d'une personne est inférieur à 21 et false sinon
$ age < 21: . ? False;
états de nidification < br > Photos
ne pas créer des expressions complexes en utilisant des instructions conditionnelles imbriquées et des opérateurs ternaires. Lorsque vous faites cela , vous avez l'habitude de faire le code plus difficile à comprendre , difficile à déboguer et difficile à maintenir. Si vous les déclarations de nidification , utiliser des parenthèses afin qu'il soit clair comment le résultat final est dérivé ou envisager d'utiliser une autre structure telle qu'une instruction " if-else " .
Le résultat est une déclaration
Si vous utilisez les variables passées par référence à un opérateur ternaire , n'oubliez pas que les expressions fournies avec l'opérateur d'affirmations et non des variables. Vous ne pouvez pas utiliser une variable passée par référence par elle-même comme une déclaration car elle n'a aucune valeur. En PHP 5.3 et plus tard, vous recevrez un avertissement si vous construisez une déclaration en utilisant une seule variable passée par référence .