Instrucțiunea If prescurtată
Un if...else simplu poate fi înghesuit pe un singur rând, ceea ce îți păstrează codul scurt. Această formă se numește operator ternar, nume care vine de la cele trei părți ale sale: o condiție, o valoare pentru cazul în care este adevărată și o valoare pentru cazul în care este falsă.
Operatorul ternar
În loc să scrie un if...else complet, această linie alege unul dintre două șiruri de caractere pentru $vote, în funcție de $age:
Ieșire: script PHP
<?php
$age = 20;
$vote = ($age >= 18) ? "are vârsta necesară" : "nu are vârsta necesară";
echo $vote;
?>
Operatorul ternar fără variabilă
Nu ai nevoie neapărat de o variabilă. Operatorul ternar poate fi pus direct în echo, care afișează valoarea aleasă:
Ieșire: script PHP
<?php
$age = 20;
echo ($age >= 18) ? "are vârsta necesară" : "nu are vârsta necesară";
?>
Operatorul de coalescență null
Operatorul de coalescență null (??) se uită la valoarea din stânga sa. Dacă acea valoare există și nu este null, o primești înapoi; dacă nu, primești valoarea din dreapta sa. Astfel, este un înlocuitor util și mai scurt pentru operatorul ternar când vrei doar să afli dacă o variabilă este setată.
Coalescență null cu o variabilă nedefinită
$color nu a fost definită în acest script, așa că ?? recurge la „red”:
Ieșire: script PHP
<?php
echo $color ?? "red";
?>
Coalescență null cu o variabilă definită
Acum $color a primit o valoare, așa că aceea este valoarea pe care o obții, iar alternativa este ignorată:
Ieșire: script PHP
<?php
$color = "blue";
echo $color ?? "red";
?>