19 апреля 2024, пятница  

PHPworld.ru - все о программировании на PHP, основы языка PHP, особенности PHP5
PHPworld.ru php php 5 SQLite Статьи Книги Форум PHP Гостевая книга Ссылки по PHP

Правила форума


Если вы впервые на нашем форуме - ознакомьтесь с правилами


 

Форум

  Иван Никитин :: Re: был указан код, и вопрос в чем его кривость?
Этот вопрос уже стал вопросом из разряда FAQ :)
Вот ответ (из моей переписки):
...
Кстати...
Какая же ошибка в этом коде?:
<?
$string = "PHP is very cool";
if (eregi('php', $string)) {
  echo "Yes!";
}
?>

Ошибка данного кода в том, что используется регулярное выражение для поиска простой строки. Вы абсолютно правы, код рабочий, но крайне неэффективный. Если вы используйте для этого, например, функцию strpos(), код будет работать раз в 30 быстрее. Вот даже из хелпа PHP указание (правда для другой функции регулярных выражений):

Tip: Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.

На это и расчет, что большинство script kiddy (наших доморощенных спецов по PHP) увидят вполне рабочий код, к тому же часто используемый (например, буквально повсеместно в phpNuke) и скажут: «Ошибки нет». А это не так, по этому поводу в книжке Сураски целая глава есть: «Оптимизация кода» - но кто читает какие-то книжки? Проще в форум написать  фразу:
«Народ, киньте в меня скрыптом гостивухи на ПХП и Мускуле!»
...
В общем, вот мой совет: НЕ читайте советских газет (форумов Рунета) перед завтраком (перед экзаменом)
...
На экзамене такие вопросы - ЕСТЬ!
...
  29 октября 2005, 07:54

Это сообщение было просмотрено: 3253 раз(а)

Ответить на сообщение

Вернуться к списку сообщений форума

Сообщение и ответы Просм. Автор Дата
  Объясните кривость следующего кода:4199 ArtG28.10.05 11:43
 Re: был указан код, и вопрос в чем его кр...3253 Иван Никитин29.10.05 07:54
 Хм..3066 ArtGa29.10.05 11:55
 Кривость, имхо, не ошибка3298 Иван Никитин29.10.05 12:25
 нет, вы меня не так поняли3018 ArtG29.10.05 14:47
 по две одинарные кавычки3192 Иван Никитин29.10.05 15:40
 Вина моя2951 Леонид Лукин30.10.05 06:54
 Ошибки случаются.2908 ArtG30.10.05 07:48


 Ответить на сообщение
 Автор:
 Ваш email*:
уведомлять об ответах на соощение по email
не публиковать email в форуме
 Тема сообщения:
 Текст сообщения:

* - поле не обязательно для заполнения

 

Copyright © PHP World - Леонид Лукин, 2004-2008.

Главная PHP World | PHP | PHP 5 | SQLite | Статьи по PHP | Книги по PHP | Ссылки по PHP | CV