Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Melaksanakan Operator Ternary Bersarang dengan Betul dalam PHP untuk Mengelakkan Keputusan Tidak Dijangka?

Bagaimanakah Saya Boleh Melaksanakan Operator Ternary Bersarang dengan Betul dalam PHP untuk Mengelakkan Keputusan Tidak Dijangka?

Patricia Arquette
Lepaskan: 2024-12-16 21:38:21
asal
407 orang telah melayarinya

How Can I Correctly Implement Nested Ternary Operators in PHP to Avoid Unexpected Results?

Nested Ternary Operators in PHP: A Puzzle Solved

Nested Ternary Operators menyediakan cara ringkas dan berkuasa untuk menetapkan nilai secara bersyarat dalam PHP. Walau bagaimanapun, apabila berbilang pengendali digunakan, sintaks yang betul menjadi penting.

Masalahnya

Pertimbangkan kod berikut:

$province = 7;
$Myprovince = (
($province == 6) ? "city-1" :
($province == 7) ? "city-2" :
($province == 8) ? "city-3" :
($province == 30) ? "city-4" : "out of borders"
);
Salin selepas log masuk

Walaupun berhasrat untuk pilih bandar berdasarkan nilai wilayah, kod memberikan "city-4" kepada $Myprovince untuk setiap medan.

Penyelesaian

Isunya terletak pada kekurangan kurungan. Setiap pengendali ternary mesti bersarang dengan betul untuk memastikan penilaian yang betul. Kod yang dikemas kini di bawah membetulkan masalah:

$province = 7;
$Myprovince = (
($province == 6) ? "city-1" :
  (($province == 7) ? "city-2" :
   (($province == 8) ? "city-3" :
    (($province == 30) ? "city-4" : "out of borders")))
);
Salin selepas log masuk

Cara Ia Berfungsi

Pengendali ternary paling dalam menilai keadaan ($wilayah == 8) dan menetapkan "bandar -3" jika benar atau meneruskan ke operator seterusnya jika palsu.

Pengendali ternary tengah menyemak jika $province adalah sama dengan 7 dan memberikan "city-2" jika benar atau meneruskan ke operator seterusnya.

Akhir sekali, operator ternary paling luar menilai keadaan ($province == 6) dan menetapkan "city-1" jika benar atau meneruskan pilihan yang selebihnya, akhirnya menetapkan "bandar-4" jika $province adalah 30 atau "luar sempadan" sebaliknya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Operator Ternary Bersarang dengan Betul dalam PHP untuk Mengelakkan Keputusan Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan