Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der in PHP7 eingeführte Unterschied zwischen „??“ und „?:“.

Was ist der in PHP7 eingeführte Unterschied zwischen „??“ und „?:“.

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-05-11 09:24:012298Durchsuche

Dieser Artikel stellt Ihnen den Unterschied zwischen „??“ und „?:“ vor, der in PHP7 eingeführt wurde. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Was ist der in PHP7 eingeführte Unterschied zwischen „??“ und „?:“.

Testcode

Eingabetest:

<?php
    $array = [
        &#39;a&#39; => 1,
        &#39;b&#39; => 2,
        &#39;c&#39; => [],
    ];

    $a = $array[&#39;c&#39;] ?? 0;
    $b = $array[&#39;c&#39;] ?: 0;
    $c = $array[&#39;d&#39;] ?? 0;
    $d = $array[&#39;d&#39;] ?: 0;
    $e = $array[&#39;c&#39;] ? 1 : 0;
    $f = isset($array[&#39;c&#39;]) ? 1 : 0;
    $g = $array[&#39;d&#39;] ? 1 : 0;
    $h = isset($array[&#39;d&#39;][&#39;e&#39;]) ? 1 : 0;
    $i = !empty($array[&#39;c&#39;]) ? 1 : 0;
    $j = !empty($array[&#39;d&#39;]) ? 1 : 0;

    var_dump($a);
    var_dump($b);
    var_dump($c);
    var_dump($d);
    var_dump($e);
    var_dump($f);
    var_dump($g);
    var_dump($h);
    var_dump($i);
    var_dump($j);

Ausgabeergebnis:

PHP Notice:  Undefined index: d in /home/fanyu/abc.php on line 11
PHP Notice:  Undefined index: d in /home/fanyu/abc.php on line 14
array(0) {
}
int(0)
int(0)
int(0)
int(0)
int(1)
int(0)
int(0)
int(0)
int(0)

Fazit

  1. $a ?? 0 entspricht isset($a) ? $a : 0.

  2. $a ?: 0 entspricht $a ? $a : 0.

  3. empty: Bestimmen Sie, ob eine Variable leer ist (null, false, 00, 0, '0', ‖ und dergleichen geben alle true zurück).

  4. isset: Bestimmen Sie, ob eine Variable gesetzt ist (Werte wie false, 00, 0, '0', ‖ geben ebenfalls true zurück).

Empfohlenes Lernen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der in PHP7 eingeführte Unterschied zwischen „??“ und „?:“.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen