Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Operator Ternary Bersarang Saya dalam PHP Mengembalikan Keputusan Yang Tidak Dijangka?

Mengapa Operator Ternary Bersarang Saya dalam PHP Mengembalikan Keputusan Yang Tidak Dijangka?

Linda Hamilton
Linda Hamiltonasal
2024-12-28 21:02:18506semak imbas

Why Are My Nested Ternary Operators in PHP Returning Unexpected Results?

Operator Ternary Bersarang dalam PHP untuk Tugasan Bersyarat

Anda telah menghadapi masalah dengan kod PHP anda di mana anda ingin menggunakan operator ternary bersarang tetapi menerima keputusan yang tidak dijangka. Mari kita selidiki masalah ini dan sediakan penyelesaian:

Kod yang anda berikan:

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

Dalam kod ini, anda berhasrat untuk menetapkan nama bandar yang berbeza berdasarkan nilai $province. Walau bagaimanapun, anda mendapat "bandar-4" untuk setiap nilai kerana pengendali ternary tidak bersarang dengan betul.

Untuk menggunakan operator ternary bersarang dengan betul, anda perlu menyertakan setiap operator ternary dalam kurungan. Kod yang betul sepatutnya kelihatan seperti ini:

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

Dengan menyarangkan operator ternary dengan cara ini, kod akan menilai keadaan dalam susunan yang betul dan menetapkan nama bandar yang sesuai berdasarkan nilai $province.

Atas ialah kandungan terperinci Mengapa Operator Ternary Bersarang Saya dalam PHP Mengembalikan Keputusan Yang 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