Pengendali Ternary dalam PHP

Katakan kita mempunyai kod berikut yang menyemak sama ada pengguna sudah berumur 18 tahun atau tidak:

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

Seperti yang anda lihat, konstruksi if-else hanya diperlukan untuk menulis nilai tertentu ke dalam pembolehubah $adult. Untuk tugas sedemikian, apabila dalam keadaan kita hanya menulis satu pembolehubah, terdapat penyelesaian yang lebih pendek melalui apa yang dipanggil pengendali ternary.

Sintaksnya adalah seperti berikut:

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

Pengendali berfungsi seperti berikut: jika keadaan adalah benar, maka value1 dikembalikan, sebaliknya - value2. Mari kita tulis semula kod yang diberikan pada awal pelajaran menggunakan pengendali ternary:

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

Anda juga, boleh terus outputkan hasilnya melalui var_dump tanpa menulisnya ke dalam pembolehubah:

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

Pengendali ternary hanya patut digunakan dalam kes yang paling mudah, kerana penggunaannya menyukarkan pemahaman kod.

Задание 1

Katakan diberikan pembolehubah $num, yang boleh menjadi sama ada negatif atau positif. Tulis ke dalam pembolehubah $res nombor 1, jika pembolehubah $num lebih besar atau sama dengan sifar, dan nombor -1, jika pembolehubah $num kurang daripada sifar.