Что лучше: case или elseif?
1.
Василий (24.10.2011 / 00:12)
Посоветуйте.
2.
3DwEp (24.10.2011 / 00:19)
Моё мнение case лучше
3.
Владислав (24.10.2011 / 00:20)
switch удобнее чем elseif
4.
Саня (24.10.2011 / 00:48)
тут дело в удобстве. а так экономия на спичках
5.
ramzes (24.10.2011 / 01:20)
Уже был такой холливарчик =) сошлись на том что без разницы
6.
KOZZ (24.10.2011 / 01:36)
switch-case(1) это вроде как обёртка для if-elseif(2).
1 больше подходит когда условий больше 2,особенно если юзать альтернативный синтаксис с endswitch.такие случаи часто встречаются,например,в админках. Если там использовать 2 связку,то код будет смотреться не так красиво и методично
7.
Wapuns (24.10.2011 / 06:01)
я CASE юзаю) Норм)
8.
ICE (24.10.2011 / 08:12)
Switch если много условий.А так обычный if elseif.
9.
Лёха (24.10.2011 / 08:17)
тут выбор исходя из ситуации, где-то удобнее switch, а где-то elseif...
10.
Кирилл (24.10.2011 / 09:03)
Все зависит от поставленных задач. switch удобнее расширять и изменять, код более читаемый.
11.
Антон (24.10.2011 / 09:11)
Case удобнее имхо..
12.
Валерий (24.10.2011 / 11:47)
elseif использую.. не припомню, чтоб у меня больше 4-5 таких условий в скрипте было..
13.
XoPyC (24.10.2011 / 11:51)
case получше будетъ)
14.
Василий (24.10.2011 / 12:04)
Ну у меня около 10-30 условий. Как скрипт будет быстрее работать? Или без разницы?
15.
Тимофей (24.10.2011 / 12:08)
я думаю case удобнее
16.
Виталик (24.10.2011 / 12:10)
нет разница есть! Если так много условий то лучше через свич кейс скрипт будет работать быстрее!
17.
Саня (24.10.2011 / 12:24)
16.
sister, доки в студию.
18.
KOZZ (24.10.2011 / 12:25)
16,фэйспалм
19.
Виталик (24.10.2011 / 13:26)
17.
sanzstez, но подумай сам логичиски на пример есть 30 условий и если все 30 условий проверять через иф елсе приставь себе как будет думать интепритатор пхп! он начинает выполнять действия: 1иф 2иф 3иф... И так пока не будет истена тоесть по не дойдет до того ифа каторый был задан в запросе! И теперь подумай сколька интепретатуру приходеца думать а в свич все проще он проста берет то значения что было задано в запросе и начинает искать то значания а проще сказать ищет истену! И можна сказать что инпретатуру при работе с свич кейс приходеца выполннять менчше действий чем при работе с иф елсе! Ну если не очень понято то извените я ща с тела и що и на роботе не очень удобна обиснять! Кстати извеняюсь за свой русский!
20.
Димон (29.10.2011 / 14:17)
полностью согласен с 19.
только насколько я знаю, switch не перебирает поэлементно, а сразу переходит к нужному значению.
Йа сцылочко, жмакни меня
21.
Саня (29.10.2011 / 15:02)
Ну тогда тем более нужно думать где применять каждый из них, соответственно нужной вам задаче. А не как автор пришел и хз что хочет.
Это как в С что лучше писать + для сложения или использовать сразу побитовый сдвиг . В итоге результат тот же, а нихрена непонятно
22.
ramzes (29.10.2011 / 17:34)
Это все из разряда echo vs print
Экономия на спичках
Без разницы.
23.
iNeeXT (29.10.2011 / 17:41)
кас
24.
Gate (18.11.2011 / 23:12)
switch, case
25.
Владислав (21.11.2011 / 00:28)
в зависимости от задачи...если сложные условия сравнения, естественно if и т.д. ибо switch с этим не справится, если не сложные условия и несколько вариантов действий, то без разници что использовать это большой роли в скорости выполнения сценария не сыграет, главнее тут скорее читабельность кода, а если довольно таки много вариантов действий то по мне лучше switch
26.
ensteyn-asen (19.12.2011 / 03:01)
редко switch
почти всегда if
иногда тернарный оператор
27.
Дмитрий (19.12.2011 / 03:38)
Таки switch быстрее работает
<?
$a = microtime(true);
if (1 > 2) echo 1;
elseif (1 < 2) echo 2;
else echo 3;
printf("\n%0.6f", microtime(true) - $a);
echo "\n\n";
$a = microtime(true);
switch(1 > 2) {
case 1:
echo 1;
break;
case 2:
echo 2;
break;
default:
echo 3;
break;
}
printf("\n%0.6f", microtime(true) - $a);
28.
yeshkin (19.12.2011 / 17:33)
26, +1. switch только при условии трехкратной проверки одной переменной, иначе - if, или же их комбинации при потребности. Не тема для холивара, просто прагматика
29.
halsoft (19.12.2011 / 21:00)
Зависит от контекста - где-то лучше применять elseif и это выглядит шикарно, а где-то switch - в больших диапазонах значений его применять, всё равно, что поэзию писать
30.
An0nimous (19.12.2011 / 21:07)
холливар объявляется открытым!
31.
halsoft (19.12.2011 / 21:18)
Вообще, при написании кода нужно держаться следующего принципа: старайся писать красиво, но не в ущерб производительности.
32.
Артур (20.12.2011 / 03:06)
зависит от задачи. если надо проверять 1 переменную, то читабельнее как-то switch. иначе elseif. например
<?php
if($a > $b && $c < $d && $b != $c){
}elseif($b == $c){
}else{
}
а в switch как это?)
<?php
switch(true){
case($a > $b && $c < $d && $b != $c):
break;
case($b == $c):
break;
default:
break;
}
33.
Удаленный (17.01.2012 / 02:44)
elseif на мой взляд более стандартный что-ли... Ну как-то привык к нему)))
34.
Zдешний (17.01.2012 / 04:27)
switch лучше
35.
★☆ ИгRok™ ☆★ (17.01.2012 / 04:52)
я тоже когда приходиться пользуюсь
switсh. Как-то удобнее,по крайней мере для меня. Да и привычнее
36.
Apollon76 (17.01.2012 / 05:37)
Если тебе нужно вписать небольшое условие или несколько действий-elseif,для большого кода лучше case.
37.
Олечка (17.01.2012 / 09:48)
все зависит от задачи и привычки использования для меня проще использовать elseif но бывают моменты что без case не обойтись
38.
Роман (17.01.2012 / 10:17)
Не стал читать всю темку (просто в лом
). Что тебе удобнее, то и используй, т.к. логика тут одинакова что ИФ ЭЛСЕ выполняет последовательное сравнение до того пока не будет TRUE (или ELSE) потом выполняет ветку до знака }, что СВИТЧ выполняет последовательное сравнение до того пока не будет TRUE (или DEFAULT) потом выполняет ветку до BREAK.
Просто если значений много или в теле ветки много кода лучше использовать СВИТЧ (имхо)
39.
Удаленный (17.01.2012 / 10:27)
Народ а может оффнуть уже тему а?? А то думаю уже и так понятно что человек выберет switch
40.
Удаленный (17.01.2012 / 15:59)
Разницы никакой, скрипты всегда медленные blyat потому что логически неправильные, ***код проще говоря))) else switch кому что удобнее
41.
ramzes (17.01.2012 / 16:18)
я вот посмотрел на свой код, подумал почему в метре текста всего два свитча..
оказалось что у меня просто нет в нем потребностей, больше 2х вариантов условий просто не попадается))
задумался..
42.
KOZZ (18.01.2012 / 15:35)
41.
ramzes, со свитчами читабельнее, производительность страдает совершенно незначительно. стоит ли менять?
43.
ramzes (18.01.2012 / 19:25)
42.
eGo Где Мой Кэш7, мне наоборот не читабельно через свитч.
А менять в любом случае не стоит мне кажется, не та разница что бы выгадывать на ней
44.
mix (05.02.2012 / 04:43)
wap-css (24 Октября 2011 / 12:04)
Ну у меня около 10-30 условий. Как скрипт будет быстрее работать? Или без разницы?
юзай switch
URL:
https://visavi.net/topics/25922