L'opérateur ?:
est un opérateur ternaire appelé conditional operator.
Il est conditionnel parce que les expressions Expr2 et expr3 en expr1 ? expr2 : expr3
sont évalués en fonction de la valeur de rendement évalué de expr1:
- Si expr1 évalue à vrai, Expr2 est évalué et la valeur de retour de expr2 est la valeur de retour de l'ensemble
?:
expression d'opérateur;
- sinon expr3 est évalué et la valeur de retour de l'expression d'opérateur
?:
est la valeur de retour de expr3.
Voici un exemple:
echo 1 == 1 ? "true" : "false";
Si 1 == 1
est évaluée à vrai, "true"
seront renvoyées en écho, sinon "false"
.
Notez que l'opérateur ?:
est juste un et non l'opérateur ternaire. Le ternaire mot signifie simplement qu'il ya trois opérandes (op1 ? op2 : op3
), tout comme un opérateur binaire a deux opérandes (par exemple op1 + op2
, op1/op2
, op1 % op2
, etc.) et les opérateurs unaires ont un seul opérande (par exemple !op
, -op
, ~op
, etc.) .
Ce caractère peut être utilisé dans plusieurs contextes. Peut-être que * vous * devriez l'utiliser dans une phrase pour que nous puissions tous savoir ce que vous demandez vraiment. Copiez et collez quelques lignes qui démontrent son utilisation à partir du code que vous essayez de comprendre. –