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
Patricia Arquetteasal
2024-12-16 21:38:21485semak imbas

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"
);

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")))
);

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!

Kenyataan:
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