PHP-da break-iň hökman däl bolmagy
break buýrugy hökman däl.
Emma onuň ýoglugynda, case bloglarynyň
ýörgünlini gözlänilmedik bolar. Mysal üçin sereliň.
Bizde şeýle kod bolsun:
<?php
$num = 1;
switch ($num) {
case 1:
echo 1;
break;
case 2:
echo 2;
break;
case 3:
echo 3;
break;
}
?>
Ondan ähli break-leri aýyryň we üýtgeýjide
$num başlangyçda 3 sanyny ýazalyň.
Ilki bilen hemme zat öňki ýaly işleýär:
<?php
$num = 3; // bu ýerde san 3 diýeliň
switch ($num) {
case 1:
echo 1;
case 2:
echo 2;
case 3:
echo 3;
}
// Işledensoň, kod 3-ü görkezer - hemme gowy
?>
Indi $num üýtgeýjisine 2 sanyny ýazalyň.
Bu ýagdaýda, gözlenilşi ýaly case 2 ýerine ýetiriler,
soňra bolsa gözlänilmedik ýaly case 3 hem ýerine ýetiriler:
<?php
$num = 2;
switch ($num) {
case 1:
echo 1;
case 2:
echo 2;
case 3:
echo 3;
}
// Işledensoň, kod 2, soňra 3 görkezer
?>
$num üýtgeýjisine 1 sanyny ýazsaňyz,
umuman ähli case gurluşlary ýerine ýetiriler:
<?php
$num = 1;
switch ($num) {
case 1:
echo 1;
case 2:
echo 2;
case 3:
echo 3;
}
// Işledensoň, kod 1, soňra 2, soňra 3 görkezer
?>
Ýagny, break ýok bolsa, meýilleşdirilen
case ýerine ýetirilensoň, onuň aşakdaky
ähli case-ler hem ýerine ýetiriler. Käte
meseleleri çözmekde bu aýratynlyk ulanylýar.
Indiki mysalda, $num üýtgeýjisiniň bahasy
1 ýa-da 2 bolsa, onda
$res üýtgeýjisine 'a' ýazylar.
$num üýtgeýjisiniň bahasy 3 bolsa,
onda $res üýtgeýjisine 'b'
ýazylar:
<?php
$num = 1;
switch ($num) {
case 1:
case 2:
$res = 'a';
break;
case 3:
$res = 'b';
break;
}
echo $res;
?>
Ýokarda, käte bu aýratynlygyň ulanylandygyny ýazdym, ýöne, umumy alnyňda, men ony ulanylmagy maslahat bermeýärin, sebäbi kod aýdyň bolmaýar.
Beýle bir meseläni if-ler bilen çözmek has aýdyňrak:
<?php
$num = 1;
if ($num == 1 or $num == 2) {
$res = 'a';
}
if ($num == 3) {
$res = 'b';
}
echo $res;
?>