Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengelakkan Ralat Semasa Menyarang Operator Ternary dalam PHP?

Bagaimanakah Saya Boleh Mengelakkan Ralat Semasa Menyarang Operator Ternary dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-16 15:08:14660semak imbas

How Can I Avoid Errors When Nesting Ternary Operators in PHP?

Nested Ternary Operators in PHP: Pitfalls and Solutions

Dalam PHP, ternary operator menyediakan cara ringkas dan elegan untuk menetapkan nilai secara bersyarat. Walaupun ia boleh menjadi alat yang berkuasa, adalah penting untuk menggunakannya dengan betul untuk mengelakkan hasil yang tidak dijangka.

Satu isu biasa timbul apabila bersarang berbilang operator ternary, seperti yang ditunjukkan dalam kod berikut:

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

Setelah dilaksanakan, kod ini secara salah menetapkan "city-4" kepada $Myprovince tanpa mengira nilai $province. Masalahnya terletak pada sarang pengendali ternary tanpa pengelompokan yang betul.

Untuk menyelesaikan isu ini, anda perlu menggunakan tanda kurung untuk memastikan operator ternary dinilai dalam susunan yang betul. Kod yang diperbetulkan di bawah:

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

Dengan pengubahsuaian ini, pengendali ternary disarangkan dengan betul dan kod tersebut dengan betul menetapkan "city-2" kepada $Myprovince kerana $province bersamaan dengan 7.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Ralat Semasa Menyarang Operator Ternary dalam PHP?. 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