PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの三項演算子とヌル合体演算子の違い


三項演算子

三項演算子は、ifelseステートメントを1つのステートメントに置き換えるために使用されます。

構文

(condition) ? expression1 : expression2;

同等の式

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

条件がtrueの場合、expression1の結果を返します。それ以外の場合は、expression2の結果を返します。条件または式にvoidを使用することはできません。

ヌル合体演算子

null合体演算子は、変数がnullの場合にnull以外の値を提供するために使用されます。

構文

(variable) ?? expression;

同等の式

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

変数がnullの場合、式の結果を返します。

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

出力

not passed
not passed

  1. Pythonセットの演算子とメソッドの違いは何ですか?

    Pythonのsetオブジェクトは、組み込みのsetクラスを表します。和集合、積集合、差、対称差などのさまざまな集合演算は、対応するメソッドを呼び出すか、演算子を使用して実行できます。 メソッドによる結合 >>> s1={1,2,3,4,5} >>> s2={4,5,6,7,8} >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8} >>> s2.union(s1)  {1, 2, 3, 4, 5, 6, 7, 8} ユニオンバイ|オペレーター >>> s1={1,

  2. Pythonの=演算子と==演算子の違いは何ですか?

    Pythonでは、シンボルは割り当てとして定義されます オペレーター。左側に1つの変数、右側に式が必要です。右側の式の値は、左側の変数に割り当てられます。変数の式と名前は互換性がありません。 >>> a=10 >>> b=20 >>> c=a+b >>> a,b,c (10, 20, 30) >>> a+b=c SyntaxError: can't assign to operator ==記号は比較演算子であり、等しいと呼ばれます オペレーター。いずれかの側のオペランドが等しい場合はtrueを