|
|
|
| Дорустим есть такой код:
if($a ==1){ blablabla }
if($a ==2{ blablabla }
if($a ==3){ blablabla }
if($a ==4){ blablabla }
if($a ==5){ blablabla }
if($a ==6){ blablabla }
if($a ==7){ blablabla }
if($a ==8){ blablabla }
if($a ==9){ blablabla }
if($a ==10){ blablabla }
Если $a будет равно 1, то в данном примере всё равно будут проверятся полследующие 9 if?
А если так:
Если $a будет равно 1, то в данном примере не будут проверятся полследующие 9 if?
if($a ==1){ blablabla }
else if($a ==2){ blablabla }
else if($a ==3){ blablabla }
else if($a ==4){ blablabla }
else if($a ==5){ blablabla }
else if($a ==6){ blablabla }
else if($a ==7){ blablabla }
else if($a ==8){ blablabla }
else if($a ==9){ blablabla }
else if($a ==10){ blablabla }
Так ли это? | |
|
|
|
|
|
|
|
для: designshadow
(26.09.2010 в 23:08)
| | В первом случаи интерпритатор 10 раз сравнит $a с числом.
Во втором случаи до первого положительного результата.
Надеюсь, это только пример и в настоящих проектах подобного нет? | |
|
|
|
|
|
|
|
для: neadekvat
(26.09.2010 в 23:13)
| | А чем отличается else if от else if от elseif без пробела?
Ну если только 10 штук использовать то нет смысла делать лишний запрос в бд. | |
|
|
|
|
|
|
|
для: designshadow
(26.09.2010 в 23:19)
| | в случае, который вы описали, лучше использовать конструкцию switch-case:
switch ($x) {
case 0:
echo "x=0";
break;
case 1:
echo "x=1";
break;
case 2:
echo "x=2";
break;
}
|
подробнее здесь http://www.php.su/php/intro/?9_3 | |
|
|
|
|
|
|
|
для: sasha1133
(27.09.2010 в 01:33)
| | Ваш пример тяготеет к применению обычного массива. | |
|
|
|
|
|
|
|
для: sim5
(27.09.2010 в 02:09)
| | в смысле? | |
|
|
|
|
|
|
|
для: sasha1133
(28.09.2010 в 19:15)
| | В прямом. Если так все просто, то:
<?
$a = array("a","b","c");
$x = $a[$x];
|
| |
|
|
|
|
|
|
|
для: sim5
(29.09.2010 в 04:31)
| | по-моему этот код не будет работать, что значит ?
просто у автора было последовательная проверка a==1, a==2 и т.д.
я имел ввиду, что для проверки более 2-х случаев лучше использовать switch-case | |
|
|
|
|
|
|
|
для: sasha1133
(02.10.2010 в 22:00)
| | Почему по вашему это не будет работать, если вы примером привели присваивание? И почему ради него обязателен switch-case? | |
|
|
|
|
|
|
|
для: sim5
(03.10.2010 в 05:34)
| | не знаю | |
|
|
|
|
|
|
|
для: sasha1133
(03.10.2010 в 11:31)
| | Значит попробовать надо, а не думать:
<?
$x = 1;
switch ($x) {
case 0:
echo "x=a";
break;
case 1:
echo "x=b";
break;
case 2:
echo "x=c";
break;
}
//а может лучше тогда?
$a = array("a","b","c");
echo $a[$x];
|
| |
|
|
|
|
|
|
|
для: sim5
(03.10.2010 в 11:44)
| | Лучше-лучше) просто не сразу понял. Но если имеются совсем разные варианты действий в зависимости от значения $x, лучше будет switch-case (на мой взгляд) | |
|
|
|
|
|
|
|
для: sasha1133
(07.10.2010 в 01:35)
| | Ну это смотря что делать собираемся. Посмотрите примеры из описания анонимной функции. | |
|
|
|