Kursy mojej produkcji
<?php
$a = true;
if($a)
{
echo 'Prawda';
}
else
{
echo 'Fałsz';
}
?>
Powyższy kod można przedstawić w o wiele krótszej formie przy pomocy operatora trójkowego.
<?php
$a = true;
echo $a ? 'Prawda' : 'Fałsz';
?>
Zasada działania operatora trójkowego jest bardzo prosta. W pierwszej części (tej przed znakiem ?) umieszczamy warunek bądź warunki, w drugiej, środkowej części umieszczamy działanie, które zostanie wykonane w momencie spełnienia warunków, natomiast w trzeciej (tej po znaku :) umieszczamy działanie, które zostanie wykonane w momencie niespełnienia warunków.
<?php
$a = true;
echo ($a ? 'Prawda' : 'Fałsz');
?>
W ten sposób będziemy wiedzieć gdzie zaczyna się i kończy struktura kontrolna. Największym plusem ów operatora jest fakt, że zajmuje najmniej miejsca ze wszystkich poznanych wcześniej instrukcji. Jeżeli tylko macie taką możliwość stosujcie operator trójkowy, szczególnie w sytuacjach kiedy występuję if i else oraz jedna operacja związana z warunkiem.
<?php
$a = $b = 7;
// $a = 6;
echo ($a > $b ? '$a > $b' : ($a < $b ? '$a < $b' : '$a == $b'));
?>
Powyżej przedstawiłem w jaki sposób można zagnieździć jeden operator trójkowy w drugim. Oczywiście nawiasy zwykle są pomocnicze co nie zmienia faktu, że tak jak mówiłem przed chwilą zwiększają czytelność. Ten sam kod można przedstawić w nieco lepszej formie przy pomocy if, elseif i else.
<?php
$a = $b = 7;
// $a = 8;
if($a > $b)
{
echo '$a > $b';
}
else if($a < $b)
{
echo '$a < $b';
}
else
{
echo '$a == $b';
}
?>
<?php
$a = true;
$b = false;
echo ($a || $b ? 'Jeden z warunków zwraca prawdę' : 'Oba warunki zwracają fałsz');
?>