Kenyataan Tukar PHP
Pernyataan suis digunakan untuk melakukan tindakan berbeza berdasarkan berbilang keadaan berbeza.
Kami telah mempelajari penyataan if...else untuk menentukan keadaan sebelum ini, tetapi ia tidak cekap adakah cara lain yang lebih baik? Satu cara yang boleh kita gunakan ialah: switch...case sintaks. Struktur sintaks
suis...huruf kecil adalah seperti berikut:
suis (expr)
{
case expr1:
kenyataan ;
pecah;
kes expr2:
kenyataan;
putus;
……
lalai:
pernyataan;
}
Pernyataan suis adalah serupa dengan siri pernyataan if dengan ungkapan yang sama
Setiap kes akan dinilai secara bergilir, expr Adakah ia sama dengan expr1..n Jika sama, laksanakan penyataan yang sepadan Jika terdapat rehat pada penghujung, penyataan suis akan melompat keluar selepas pelaksanaan selesai
lalai. operasi lalai dilakukan apabila semua kes tidak dapat dipenuhi
Nota:
1 Jangan tulis koma bertitik demi huruf, diikuti dengan titik bertindih:
2. Jangan tulis selang penghakiman selepas kes, Seperti ($foo > 20 atau $foo == 30)
3 Pembolehubah dalam suis sebaiknya integer atau rentetan, kerana pertimbangan Boolean adalah lebih sesuai untuk jika...lain..
4 Jika anda mengalih keluar patah dalam setiap kes, maka blok kod dalam setiap kes akan dilaksanakan mengikut urutan ke
5. Pernyataan suis tidak perlu ditulis lalai, tetapi sebagai kebiasaan yang baik, adalah disyorkan untuk mengekalkan kenyataan lalai
contoh
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $dir='north'; switch ($dir) { case 'west': echo '西'; break; case 'east': echo '东'; break; case 'north': echo '北'; break; case 'sourth': echo '南'; break; default: echo '未知'; break; }
Contoh
Mari kita tulis penghakiman minggu yang mudah:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 //得到今天是星期几的英文简称 $day = date('D'); switch($day){ //拿学校举例,我们让星期一、二、三是校长日 case 'Mon': case 'Tue': case 'Wed': echo '校长日'; break; case 'Thu': echo '星期四'; break; case 'Fri': echo '星期五'; break; default: echo '周末,周末过的比周一到周五还要累<br />'; }
Lihat hari ini hari apa.