Nesting Ternary Operators dalam PHP: Menyelesaikan Masalah Struktur Keadaan Tidak Sah
Kod anda bertujuan untuk memberikan nilai kepada pembolehubah $Myprovince berdasarkan nilai $province menggunakan satu siri pengendali ternary bersarang. Walau bagaimanapun, anda menghadapi isu apabila semua medan mengembalikan nilai "city-4."
Masalahnya
Isunya terletak pada sarang pengendali ternary. Dalam kod asal anda, setiap operator ternary adalah bebas, dan penilaian diteruskan dari kiri ke kanan. Walau bagaimanapun, untuk syarat seterusnya dinilai dengan betul, anda perlu mengumpulkannya menggunakan kurungan.
Penyelesaian Menggunakan Kurung Bersarang
Untuk membetulkan kod, anda perlu melampirkan setiap kumpulan pengendali ternary dalam kurungan, seperti yang ditunjukkan di bawah:
$province = 7; $Myprovince = ( ($province == 6) ? "city-1" : (($province == 7) ? "city-2" : (($province == 8) ? "city-3" : (($province == 30) ? "city-4" : "out of borders"))) );
Oleh mengumpulkan operator ternary menggunakan kurungan, penilaian kini mengikut susunan keutamaan yang betul dan pembolehubah $Myprovince akan diberikan nilai yang sesuai berdasarkan nilai $province.
Atas ialah kandungan terperinci Mengapa Operator Ternary PHP Bersarang Saya Mengembalikan 'city-4' Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!