switch komutunun kullanımı biraz detaylı olsa da ben işinize yarayacak kadarını ve en sık kullanıldığı haliyle anlatacam.
switch bir nevi bir elektrik devresinin şalteri gibidir, veya birden çok
if sorgusunun farklı bir şekilde kullanılma yöntemidir de diyebiliriz.
genel olarak;
switch ?
options?
string pattern body ?
pattern body ...?
şeklinde kullanırlar..
En sık kullandığımız şekli ise bir prosedür içerisinde belirlediğimiz bir değişkenin ifade ettiği değere göre yapılması gereken işlemi belirlemede kullanıyoruz. Cümleler biraz kafanızı karıştırıyor olsa da konuyu örneklerle daha da açıklayıcı hale getirebiliriz umarım.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
switch -- $deger {
1 {
putlog "deger = 1"
}
2 {
putlog "deger = 2"
}
3 {
putlog "deger = 3"
}
default {
putlog "deger = 1, 2 ya da 3 değil!"
}
}
Bu örnekte şunu diyoruz: Eğer $deger adlı değişken 1 ise deger = 1 yaz, 2 ise deger = 2 yaz, 3 ise deger = 3 yaz, bunların dışında bir şey ise deger = 1, 2 ya da 3 değil! yaz diyoruz.
Genel switch kullanımı bu şekildedir.
aynı şeyi if ile de yapabilirdik.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
if { $deger == "1" } {
putlog "deger = 1"
}
if { $deger == "2" } {
putlog "deger = 2"
}
if { $deger == "3" } {
putlog "deger = 3"
} else {
putlog "$deger = 1, 2 ya da 3 değil!"
}
işte switch'in manası budur. Switch değerlerini kendimiz belirliyoruz, illa rakam olacak diye birşey yok tabiki örneğin;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
switch -- $deger {
elma {
putlog "deger = elma"
}
armut {
putlog "deger = armut"
}
ayva {
putlog "deger = ayva"
}
default {
putlog "deger = aradığımızdan başka bir meyve"
}
}
veya oralarda başka bir değişken de kullanabiliriz;
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
switch -- $deger {
$a {
putlog "deger = $a"
}
$b {
putlog "deger = $b"
}
$c {
putlog "deger = $c"
}
default {
putlog "deger = aradığımızdan başka bir şey"
}
}
Tabi illa iç kısımda putlog kullanacak halimiz yok, orada başka herşeyi kullanabiliriz, ancak anlatımlarda en basit örnekler verilir anlaşılırlığın daha kolay olması açısından..
Bunların dışında switch ile birlikte -- koyduğumuz yere gelebilecek diğer seçenekler ise şunlardır;
-exact
-glob -regexp
-nocase -matchvar varName
-indexvar varName
Bunların anlatımları ise şu aşamada sizler için çok daha ileri seviye olduğundan eğer ileride merak eden ve bunları kullanmak isteyen olursa tabiki açıklarız.
Diğer isteğin olan txt dosyasına veri yazmak, veri silmek, veri okumak gibi anlatımı ise başka bir postumuzda yapalım.
Kolay gelsin.