if($_GET['HDD'] == "Maxtor")
{
$_GET['CDROM'] = "Teac";
}
else
{
$_GET['CDROM'] = "Nec";
}
или
$_GET['CDROM'] = ($HDD == "Maxtor") ? "Teac" : "Nec";
Реально это быстрее или нет? За исключение того, что чуть-чуть уменьшается размер скрипта сам код становиться менее читабельным.
Как php обработчик воспринимает сокращенную запись?
Спустя 13 минут, 14 секунд (28.01.2012 - 13:58) neadekvat написал(а):
Во-первых, изменять входные параметры в _GET, _POST и _FILES - моветон.
Во-вторых, тернарный оператор, в котором проверка оказывается истиной, выполняется быстрее всего. Затем идет консутркция if else, где условие также истино. После - тернарный оператор с ложью. И завершает - if else с ложным результатом проверки.
То есть для простого случая (когда значение присваивается только одной переменной, в зависимости от одного условия), лучше использовать тернарный оператор. Причем писать его надо так, чтобы условие чаще всего оказывалось истинным (даже если проверяется значение какой-то переменной, котороая частенько false, условие нужно писать как $var = ( ! false ))
Во-вторых, тернарный оператор, в котором проверка оказывается истиной, выполняется быстрее всего. Затем идет консутркция if else, где условие также истино. После - тернарный оператор с ложью. И завершает - if else с ложным результатом проверки.
То есть для простого случая (когда значение присваивается только одной переменной, в зависимости от одного условия), лучше использовать тернарный оператор. Причем писать его надо так, чтобы условие чаще всего оказывалось истинным (даже если проверяется значение какой-то переменной, котороая частенько false, условие нужно писать как $var = ( ! false ))
Спустя 20 минут, 18 секунд (28.01.2012 - 14:18) GET написал(а):
neadekvat
Спасибо.
Пример исключительно для понимания вопроса, поэтому про моветон можно еще здесь проккоментировать:
http://www.softtime.ru/bookphp/gl2_1.php
Спасибо.
Пример исключительно для понимания вопроса, поэтому про моветон можно еще здесь проккоментировать:
http://www.softtime.ru/bookphp/gl2_1.php
Спустя 18 минут, 37 секунд (28.01.2012 - 14:37) inpost написал(а):
Я думаю, что нет смысла парить мозги из-за этого
Один ООП напишешь, и 1000 операторов насмарку 
И насчёт Моветона, я редактирую и видоизменяю $_POST,$_GET, в связи с тем, что эти данные находятся внутри скрипта, и их контроль в моих руках.


И насчёт Моветона, я редактирую и видоизменяю $_POST,$_GET, в связи с тем, что эти данные находятся внутри скрипта, и их контроль в моих руках.
Спустя 1 минута, 15 секунд (28.01.2012 - 14:38) neadekvat написал(а):
A.B.C., читал, знаю. Даже с авторами общался. И, знаешь, я оказался здесь именно потому, что у нас с авторами того текста и форума появились сильные расхождения во взглядах.
Тренеруй критичный взгляд.
Тренеруй критичный взгляд.
Спустя 42 секунды (28.01.2012 - 14:38) inpost написал(а):
Про "Моветон" пришло из других языков, видимо, где данных хранятся длительный период. Потому что в ПХП ты делаешь, обычно, 1 инсерт и сразу редирект. Поэтому пофиг, отредактировал ли ты данные или нет.
В своём ядре я все $_POST автоматом прогоняю на trim, допустим
В своём ядре я все $_POST автоматом прогоняю на trim, допустим

Спустя 45 секунд (28.01.2012 - 14:39) inpost написал(а):
A.B.C.
Неадекват и Трианон с софт-тайма к нам пришли
А в своё время хорошенько там спорили по поводу всего
Неадекват и Трианон с софт-тайма к нам пришли


Спустя 37 секунд (28.01.2012 - 14:40) neadekvat написал(а):
Цитата (inpost @ 28.01.2012 - 15:37) |
в связи с тем, что эти данные находятся внутри скрипта, и их контроль в моих руках. |
Дело в том, что ты живешь сегодняшним днем (в масштабах программирования).
Представь, что тебе, скажем, пару месяцев спустя надо будет что-нибудь дописать, используя входные данные.
Смотришь - а они все исковерканы. И уже не используешь их. Придется или костыли делать, или переписывать уже работающий код, который модифицирует пользовательские данные.
Как итог, я хочу сказать, что если ты что-то изменяешь - используй локальную копию. В скрипте всегда должны быть доступны исходные данные.
Спустя 26 минут, 1 секунда (28.01.2012 - 15:06) GET написал(а):
neadekvat
Я искренне сказал спасибо.
Я искренне сказал спасибо.

Спустя 22 минуты, 42 секунды (28.01.2012 - 15:29) inpost написал(а):
neadekvat
За 3 года практики ни разу не понадобилось возвращаться с целью использовать исходные данные. Хотя, если вдруг случайно понадобится, то я в начале скрипта создам чистые данные $POST = $_POST; GET = $_GET. К тому же это будет в расширении ядра.
Тут не в расширении, а в правильном построении кода с самого начала.
Тут исходить лучше от обратного, не буду я делать код для "случая", а в момент "случая" подкорректирую сайт данного случая
За 3 года практики ни разу не понадобилось возвращаться с целью использовать исходные данные. Хотя, если вдруг случайно понадобится, то я в начале скрипта создам чистые данные $POST = $_POST; GET = $_GET. К тому же это будет в расширении ядра.
Тут не в расширении, а в правильном построении кода с самого начала.
Тут исходить лучше от обратного, не буду я делать код для "случая", а в момент "случая" подкорректирую сайт данного случая

Спустя 34 минуты, 29 секунд (28.01.2012 - 16:03) VELIK505 написал(а):
Цитата (A.B.C. @ 28.01.2012 - 10:44) |
условные операторы быстрее или нет? |
не быстрее. Я их использую тогда когда мне нужно сократить код.
Спустя 2 минуты, 58 секунд (28.01.2012 - 16:06) Семён написал(а):
Что мешает самому проверить в цикле?
Спустя 2 минуты, 46 секунд (28.01.2012 - 16:09) inpost написал(а):
Семён
Вот это и есть самый верный ответ
Остальные, берите на заметку, вы же программисты...
Вот это и есть самый верный ответ

Остальные, берите на заметку, вы же программисты...
Спустя 6 минут, 1 секунда (28.01.2012 - 16:15) neadekvat написал(а):
Цитата (inpost @ 28.01.2012 - 17:09) |
Остальные, берите на заметку, вы же программисты... |
А вы приколисты, я смотрю

Я же не Ванга, чтобы говорить наугат, какие случаи быстрее.
Создал четыре цикла и посмотрел, прежде чем ответить.
Спустя 1 минута, 23 секунды (28.01.2012 - 16:16) inpost написал(а):
neadekvat
Я же не тебе, я же ТС
Я же не тебе, я же ТС

Спустя 36 минут, 43 секунды (28.01.2012 - 16:53) sergeiss написал(а):
Цитата (A.B.C. @ 28.01.2012 - 14:44) |
Реально это быстрее или нет? |
Однажды на форуме по C++Builder был задан такой же вопрос. В итоге расписали эту хрень на ассемблере, для целых величин, и пришли к тому, что тернарный оператор требует 5 тактов процессора, а if-else - 7 тактов. Насчет точного количества могу и ошибиться, но примерно так было, т.е. тернарный - быстрее.
Но это - для целых. В ПХП, возможно, подобное соотношение, хотя тут и объекты используются.
Спустя 5 минут, 8 секунд (28.01.2012 - 16:58) neadekvat написал(а):
Цитата (sergeiss @ 28.01.2012 - 17:53) |
тернарный оператор требует 5 тактов процессора, а if-else - 7 тактов. |
Я, конечно, про архитектуру ЭВМ слышал буквально одним ухом, но разве количество тактов на какую-то задачу не зависит от типа процессора/архитектуры? Как, собственно, и время, затрачиваемое на такт.
Спустя 16 минут, 29 секунд (28.01.2012 - 17:15) Winston написал(а):
Цитата (neadekvat @ 28.01.2012 - 15:58) |
но разве количество тактов на какую-то задачу не зависит от типа процессора/архитектуры |
По-моему так и есть, все зависит от тактовой частоты.
Спустя 3 часа, 47 минут, 2 секунды (28.01.2012 - 21:02) sergeiss написал(а):
Количество тактов не зависит от частоты
Потому что если надо переложить число из одной ячейки процессора в другую, то на это нужен один такт. Вне зависимости от их частоты, этих тактов.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.