Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Operator Ternary PHP Bersarang Saya Mengembalikan 'city-4' Sahaja?

Mengapa Operator Ternary PHP Bersarang Saya Mengembalikan 'city-4' Sahaja?

Linda Hamilton
Linda Hamiltonasal
2024-12-16 19:04:14188semak imbas

Why Does My Nested PHP Ternary Operator Return Only

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!

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