Apakah ada cara menggunakan operator 'ATAU' atau yang setara dalam switch PHP?
Misalnya, sesuatu seperti ini:
switch ($value) {
case 1 || 2:
echo 'the value is either 1 or 2';
break;
}
sumber
Apakah ada cara menggunakan operator 'ATAU' atau yang setara dalam switch PHP?
Misalnya, sesuatu seperti ini:
switch ($value) {
case 1 || 2:
echo 'the value is either 1 or 2';
break;
}
switch ($value)
{
case 1:
case 2:
echo "the value is either 1 or 2.";
break;
}
Ini disebut "jatuh" blok kasus. Istilah ini ada dalam sebagian besar bahasa yang menerapkan pernyataan switch.
Jika Anda harus menggunakan ||
dengan switch
maka Anda dapat mencoba:
$v = 1;
switch (true) {
case ($v == 1 || $v == 2):
echo 'the value is either 1 or 2';
break;
}
Jika tidak, solusi pilihan Anda adalah
switch($v) {
case 1:
case 2:
echo "the value is either 1 or 2";
break;
}
Masalahnya adalah bahwa metode kedua tidak efisien ketika berhadapan dengan kasus besar ... bayangkan 1
untuk 100
ini akan bekerja dengan sempurna
$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
case in_array($v, $r1) :
echo 'the value is in range 1 to 100';
break;
case in_array($v, $r2) :
echo 'the value is in range 100 to 200';
break;
}
Saya tidak akan memposting ulang jawaban lain karena semuanya benar, tetapi saya hanya akan menambahkan bahwa Anda tidak dapat menggunakan sakelar untuk pernyataan yang lebih "rumit", misalnya: untuk menguji apakah suatu nilai "lebih besar dari 3", " antara 4 dan 6 ", dll. Jika Anda perlu melakukan sesuatu seperti itu, tetap menggunakan if
pernyataan, atau jika ada kebutuhan yang sangat kuat untuk switch
maka mungkin untuk menggunakannya kembali ke depan:
switch (true) {
case ($value > 3) :
// value is greater than 3
break;
case ($value >= 4 && $value <= 6) :
// value is between 4 and 6
break;
}
tetapi seperti yang saya katakan, saya pribadi akan menggunakan if
pernyataan di sana.
switch()
, dan ketika saya bekerja dalam bahasa C-ish saya sangat merindukan memilikiSelect Case
, yang benar-benar cara cepat untuk mengatakan "ada yang besar blok if, else if, else-if ... here ".you can't use switch for more "complicated" statements
apakah itucan't
atau tidakshouldn't
? karena dalam contoh Andacan
switch (true)
ini bukan kasus penggunaan switch biasa.Coba dengan contoh berikut ini di artikel ini: http://phpswitch.com/
Kemungkinan Beralih Kasus:
(saya). Pernyataan peralihan sederhana
Pernyataan pergantian itu luar biasa dan ajaib. Ini adalah bagian dari bahasa yang memungkinkan Anda memilih di antara opsi yang berbeda untuk suatu nilai, dan menjalankan bagian kode yang berbeda tergantung pada nilai mana yang ditetapkan.
Setiap opsi yang mungkin diberikan oleh case dalam pernyataan switch.
Contoh:
(ii). Membatasi blok kode
Peringatan utama saklar adalah bahwa setiap kasing akan beralih ke yang berikutnya, kecuali jika Anda menghentikannya dengan putus. Jika case sederhana di atas diperluas untuk mencakup case 5:
Contoh:
(aku aku aku). Menggunakan fallthrough untuk banyak kasus
Karena switch akan terus menjalankan kode hingga menemukan celah, cukup mudah untuk mengambil konsep fallthrough dan menjalankan kode yang sama untuk lebih dari satu kasus:
Contoh:
kasus 2:
(iv). Perpindahan tingkat lanjut: Kondisi kondisi
Pergantian PHP tidak hanya memungkinkan Anda untuk mengaktifkan nilai variabel tertentu: Anda dapat menggunakan ekspresi apa pun sebagai salah satu kasus, asalkan memberikan nilai bagi kasus untuk digunakan. Sebagai contoh, inilah validator sederhana yang ditulis menggunakan sakelar:
Contoh:
Saya pikir ini dapat membantu Anda untuk menyelesaikan masalah Anda.
sumber
Mencoba
sumber
Saya menyarankan Anda untuk membaca http://php.net/manual/en/control-structures.switch.php (manual)
penjelasan
Seperti untuk nilai Anda apa yang harus dieksekusi pernyataan tunggal Anda dapat meletakkannya tanpa istirahat karena sampai atau kecuali istirahat ditemukan itu akan terus mengeksekusi kode dan jika istirahat ditemukan itu akan keluar dari switch case.
sumber
gunakan kode ini:
blok dipanggil untuk 1 dan 2.
sumber
sumber
Contoh http://php.net/manual/en/control-structures.switch.php
sumber
Cara terbaik mungkin kalau tidak dengan meminta. Juga, ini bisa lebih mudah dan jelas untuk digunakan.
Contoh:
Alih-alih menggunakan fungsi yang tidak akan bekerja dengan baik dengan PHP, terutama ketika Anda memiliki PHP dalam HTML.
sumber