Как стать автором
Обновить

Комментарии 28

Если честно, вся эта суета вокруг атомарной оптимизации php-кода напоминает виртуозность гитарных дрочеров типа Joe Satriani, Steve Vai и прочих.
НЛО прилетело и опубликовало эту надпись здесь
Выбирать подходящую надо по вашему личному удобству использования :)
НЛО прилетело и опубликовало эту надпись здесь
здесь не проверялось существование переменной
само собой подразумевается, что переменная существует
еще есть новомодный способ а-ля
if( isset( $a{0} ) )

интересно, м.б. автор проверит? :)
насколько мне не изменяет память, то $a{0} - это строковая операция, которая видимо будет существенно медленнее. Завтра добавлю
Ну начинается опять...
прежде чем заниматься вычислением быстродействия автору неплохо пояснить, какую переменную автор считает пустой?
например, для $a = 0 оба варианта вернут true. И вообще,
имхо, пустой может считаться только переменная, значение которой равно null, в т.ч. и неинициализированные переменные.
Т.е. для проверки годится только isset()
полезно читать комментарии автора, то что я привел - это отдельные куски кода
1й способ не эквивалентен 2 и 3.
2 и 3 между собой эквивалентны.

точно так же не эквивалентны isset() и empty().

да и какой смысл этого теста? убить пол дня на обсуждение очередного коробка спичек?
1) как может быть эквивалентна операция отрицания и проверки на равенство
2) исследовался подход к проверке на непустость
НЛО прилетело и опубликовало эту надпись здесь
1) операция !переменная и переменная!=значение эквивалентны
кроме случая (см. ниже) с "0".
НЛО прилетело и опубликовало эту надпись здесь
логически это эквивалентно, но не является эквивалентность внутренней реализации
я имел в виду !переменная и переменная!=""
НЛО прилетело и опубликовало эту надпись здесь
согласен, этот исключительный случай я провтыкал
Может не в тему, но: автор, почему вы не используете "microtime(true)"? Это, между прочим, гораздо удобнее, и не надо финтов ушами делать. :)
честно говоря все время использовал уже написанный таймер
а мануал по microtime давно не читал (к своему стыду)
В двух словах: при нормальных условиях (0 С°, 100 кПа) он возвращает два значения через пробел, которые вы и эксплодите. А при чём-то-что-не-false в скобках — одно значение float, в котором в котором дробные части секунд находятся там, где надо — после точки. Таким образом они хранятся/складываются/вычитаются без костылей и косяков.
НЛО прилетело и опубликовало эту надпись здесь
поставлю вам +
понравилось издевательство
Спасибо, но это не совсем издевательство, «что-то-что-не-false» это не только тру, это может быть и 1, так удобнее, так что только в начале я пошутил немного :)
Дада, замерять скорость исполнения атомарных конструкций языка, интерпретатор которого написан через самизнаетечто, это безусловно архиполезное занятие (-;
Простите но не мог сдержаться......... =)))))))))

"Bool IsNumber (string str) {
return (str.Replace ("0", "").Replace ("1", "").Replace ("2", "").Replace ("3", "").Replace ("4", "").Replace ("5", "").Replace ("6", "").Replace ("7", "").Replace ("8", "").Replace ("9", "").Length == 0);
}"
Эти скриптовые языки иногда меня умиляют. Ведь они были созданы, чтобы упрощать жизнь. :-)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории