A ternáris operátor a PHP-ben

Tételezzük fel, hogy a következő kódunk van, amely ellenőrzi, hogy a felhasználó elmúlt-e már 18 éves vagy sem:

php<?php
  $age = 17;
  
  if ($age >= 18) {
    $adult = true;
  } else {
    $adult = false;
  }
  
  var_dump($adult);
?>

Amint látható, a if-else szerkezet csak arra szolgál, hogy egy meghatározott értéket írjon a $adult változóba. Ilyen feladatokra, amikor a feltételben csak egy változó írása történik, létezik egy rövidebb megoldás az úgynevezett ternáris operátor segítségével.

Szintaxisa a következő:

php<?php
  variable = condition ? value1 : value2;
?>

Az operátor a következőképpen működik: ha a feltétel igaz, akkor a value1 értéket adja vissza, ellenkező esetben a value2 értéket. Írjuk át a lecke legelején bemutatott kódot ternáris operátorral:

php<?php
  $age = 17;
  $adult = $age >= 18 ? true: false;
  var_dump($adult);
?>

Egyébként az eredményt nem kell változóba írni, hanem azonnal ki is lehet írni a var_dump segítségével:

php<?php
  $age = 17;
  var_dump( $age >= 18 ? true: false );
?>

A ternáris operátort csak a legegyszerűbb esetekben szabad használni, mivel használata megnehezíti a kód megértését.

Задание 1

Tételezzük fel, hogy adott egy $num változó, amely lehet negatív vagy pozitív. Írjon a $res változóba az 1 számot, ha a $num változó nagyobb vagy egyenlő nullával, és az -1 számot, ha a $num változó nullánál kisebb.