Opérateur ternaire PHP

墨辰丷
Libérer: 2023-03-31 07:10:01
original
84246 Les gens l'ont consulté

Cet article présente principalement l'opérateur ternaire de PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Manuel recommandé :Manuel d'auto-apprentissage complet php

Syntaxe de l'opérateur ternaire : Conditions Résultat 1 : Résultat 2 ? Remarque : La position devant le point d'interrogation est la condition du jugement. Si la condition est remplie, le résultat est 1, et si elle n'est pas remplie, le résultat est 2.

Discutons-en en détail ci-dessous.

Aujourd'hui, alors que je révisais mon devoir en ligne, je suis tombé sur une phrase que je n'arrivais pas à comprendre :

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

Cette phrase signifie la même chose que

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

opération ternaire La fonction du symbole est cohérente avec l'instruction de processus "if...else". Elle est écrite sur une seule ligne, le code est très concis et l'efficacité d'exécution est plus élevée.

Articles connexes recommandés :
1.Opérateur ternaire PHP : rapide ou pas ?
2.Une comparaison simple de l'opérateur ternaire et de l'opérateur de coalescence Null en PHP
3.Quels sont les opérateurs courants en php
Recommandations vidéo associées :
1.Tutoriel vidéo Dugu Jiujian (4)_PHP

Utilisation appropriée de trois dans les programmes PHP Opérateurs méta 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 :

$a>$b ? print "a大于b" : print "a小于b";
Copier après la connexion

En fait, l'opérateur ternaire peut être étendu Lorsque la condition définie est vraie ou non, l'instruction d'exécution peut comporter plus d'une phrase :

<. 🎜>(expr1) ? (expr2).(expr3) : (expr4).(expr5);

Nous pouvons clairement voir que plusieurs instructions d'exécution peuvent être connectées à l'aide de symboles d'opération de chaîne ("."), chacune L’instruction d’exécution est entourée de petits crochets pour indiquer qu’il s’agit d’une instruction d’exécution indépendante et complète.

Après cette expansion, 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 lorsque 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 peut y avoir des problèmes avec la maintenance du code à l'avenir, mais comparé à "if ... else" et à d'autres déclarations de processus, dans la situation ci-dessus, il 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 s'il n'est pas nécessaire de considérer un « élément » autre que la phrase avec sursis dans le « ternaire », l'utilisation de l'opérateur ternaire est toujours plus concise que l'instruction if.

La syntaxe des affirmations suivantes est correcte, elles omettent le deuxième ou le troisième « élément » entre petites guillemets :

$a>$b ? print "Yes" : "";
$a>$b ? &#39;&#39;: print &#39;No&#39;;
Copier après la connexion
Il est à noter que :

Lors de l'utilisation de l'opérateur ternaire, il est recommandé d'utiliser l'instruction print au lieu de 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é ;

Parce que deux : la syntaxe de l'opérateur ternaire est comme indiqué ci-dessus : ( expr1) ? (expr2) : (expr3) , évidemment le binaire, ternaire 'wangjinbo' ou 'wjb' ci-dessus ne peut pas former à lui seul une expression significative

La compréhension correcte est  :$_GET ['abc'] est une valeur nulle (c'est-à-dire si (false), ' ', null, 0 et undifine en PHP sont tous équivalents à la valeur booléenne false à l'heure actuelle, $). str reçoit la valeur 'wjb', sinon la valeur 'wangjinbo' lui est attribuée ;


Remarque

 : Quand il y a n'y a-t-il aucune condition dans la condition de l'instruction IF, le contenu lui-même $_GET['abc'] est vrai, Si la condition est établie, str se voit attribuer la valeur 'wangjinbo', sinon la valeur 'wjb' s'il y en a ; aucune valeur claire de vrai, vrai signifie qu'il y a une valeur et faux signifie qu'il n'y a pas de valeur.

Résumé

 : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Trois utilisations courantes de php pour simuler des demandes de publication

php est destiné aux opérations sur les fichiers et Méthodes de cryptage de chaînes

suppression php, conversion, regroupement et tri des tableaux

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