Introduction détaillée à l'opérateur ternaire en php

怪我咯
Libérer: 2023-03-10 21:44:01
original
1753 Les gens l'ont consulté

Bienvenue pour apprendre le phparithmétique ternaire ici ! Voici le contenu passionnant que nous avons compilé pour vous. J'espère que tout le monde pourra apprendre ici ! Opérateur ternaire Syntaxe : Condition 1 : Résultat 2 Description : La position devant le point d'interrogation est la condition du jugement. Si la condition est remplie, le résultat est 1. , et si ce n’est pas le cas, le résultat est 2. Discutons-en en détail ci-dessous.

$if_summary = $row['IF_SUMMARY']==2?'是':'否';
Copier après la connexion

Plus tard, Baidu a découvert qu'il s'agissait de l'opérateur ternaire de PHP

Cette phrase signifie la même chose que

if($row['IF_SUMMARY']==2){
$if_summary="是";
}else{
$if_summary="否";
}
Copier après la connexion

La fonction de l'opérateur ternaire est la même que L'instruction de processus "if...else" est cohérente, elle est écrite sur une seule ligne, le code est très concis et l'efficacité d'exécution est plus élevée.

L'utilisation appropriée de l'opérateur ternaire dans les programmes PHP peut rendre les scripts plus concis et efficaces.

Le format du code est le suivant :

(expr1) ? (expr2) : (expr3);
Copier après la connexion

Explication : Si la condition "expr1" est vraie, exécutez l'instruction "expr2", sinon exécutez "expr3".

Pour obtenir la même fonction, si vous utilisez des instructions de processus conditionnelles, vous devez écrire plusieurs lignes de code :

if(expr1) {
expr2;
} else {
expr3;
}
Copier après la connexion

On peut voir que la bonté de l'opérateur ternaire mentionné ci-dessus n'est pas une exagération. Cependant, dans la plupart des cas, nous n’utilisons l’opérateur ternaire que lorsque le code est relativement simple, c’est-à-dire lorsque l’instruction d’exécution n’est qu’une seule phrase. Par exemple :

1$a>$b ? print "a est supérieur à b" : print "a est inférieur à b";

En fait, l'opérateur ternaire peut être étendu lorsque les conditions sont définies Que ce soit vrai ou non, l'instruction d'exécution peut comporter plus d'une phrase. Essayez le format suivant :

(expr1) ? (expr2).(expr3) : (expr4).(expr5);
Copier après la connexion

Nous pouvons clairement voir que plusieurs instructions d'exécution peuvent utiliser la chaîne . l'opérateur ( ".") sont connectés et chaque instruction d'exécution est entourée de petits crochets angulaires pour indiquer qu'il s'agit d'une instruction d'exécution indépendante et complète. Après cette extension, sa fonction est plus proche de l'instruction de processus "if...else".

En même temps, l'opérateur ternaire peut également être utilisé imbriqué. Par exemple, lorsque a est supérieur à b : si a est inférieur à c, alors x=c-a sinon x=a-c ; sinon quand a est inférieur à b : si b est inférieur à c, alors x=c-b sinon x=b-c :

$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);
Copier après la connexion

La lisibilité de l'opérateur ternaire imbriqué n'est pas très bonne, et il pourrait y avoir des problèmes avec la maintenance du code à l'avenir. Cependant, par rapport aux instructions de processus telles que "if... else". ", dans la situation ci-dessus, c'est en effet trop concis, ce qui fait son attrait.

Pour ceux qui aiment être paresseux et recherchent la simplicité du code, utiliser l'opérateur ternaire pour remplacer l'instruction de processus if devrait être un excellent choix. Même si vous n'avez pas besoin de prendre en compte un « élément » autre que la phrase avec sursis dans le « ternaire », l'utilisation de l'opérateur ternaire est toujours plus concise que les instructions if. Les instructions suivantes sont syntaxiquement correctes, elles omettent le deuxième ou le troisième "élément" de manière légèrement sans guillemets :

2$a>$b ? print "Yes" : "";
$a>$b ? &#39;&#39;: print &#39;No&#39;;
Copier après la connexion

Il est à noter : lors de l'utilisation de l'opérateur ternaire, il est recommandé d'utiliser l'instruction print remplace l'instruction echo.

Faites attention à la compréhension de la série d'instructions suivante :

$str = $_GET[&#39;abc&#39;] ? &#39;wangjinbo&#39; : &#39;wjb&#39;;
Copier après la connexion

Cela ne peut pas être compris comme : lorsque $str est égal à $_GET['abc'], l'affectation est 'wangjinbo', sinon l'affectation est 'wjb';Parce que un : == doit être utilisé pour juger de l'égalité ; Deuxième raison : La syntaxe de l'opérateur ternaire est la suivante : (expr1) : (expr3), évidemment, le binaire ci-dessus, ternaire 'wangjinbo' ou 'wjb' à lui seul ne peut pas former une expression significative;

La compréhension correcte est la suivante : lorsque $_GET['abc'] est vide (c'est-à-dire , que '' en PHP, null, 0, undifine, soient tous équivalents à la valeur booléenne false), attribuez $str à 'wangjinbo', sinon attribuez-le à 'wjb';

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