Maison  >  Article  >  développement back-end  >  En php, quelle est la différence entre un opérateur ternaire et un opérateur de coalescence nul ?

En php, quelle est la différence entre un opérateur ternaire et un opérateur de coalescence nul ?

王林
王林avant
2023-08-20 11:21:111210parcourir

En php, quelle est la différence entre un opérateur ternaire et un opérateur de coalescence nul ?

Opérateur ternaire

L'opérateur ternaire est utilisé pour remplacer l'instruction if else par une seule instruction.

Syntaxe

(condition) ? expression1 : expression2;

Expression équivalente

if(condition) {
   return expression1;
}
else {
   return expression2;
}

Si la condition est vraie, renvoie le résultat de l'expression 1, sinon renvoie le résultat de l'expression 2. void n'est pas autorisé dans les conditions ou les expressions.

Opérateur de fusion nul

L'opérateur de fusion nul est utilisé pour fournir une valeur non nulle lorsque la variable est nulle.

Syntaxe

(variable) ?? expression;

Expression équivalente

if(isset(variable)) {
   return variable;
}
else {
   return expression;
}

Si la variable est vide, renvoie le résultat de l'expression.

Exemple

<!DOCTYPE html>
<html>
<head>
   <title>PHP Example</title>
</head>
<body>
   <?php
      // fetch the value of $_GET[&#39;user&#39;] and returns &#39;not passed&#39;
      // if username is not passed
      $username = $_GET[&#39;username&#39;] ?? &#39;not passed&#39;;
      print($username);
      print("<br/>");
      // Equivalent code using ternary operator
      $username = isset($_GET[&#39;username&#39;]) ? $_GET[&#39;username&#39;] : &#39;not passed&#39;;
      print($username);
      print("<br/>");
   ?>
</body>
</html>

Sortie

not passed
not passed

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer