Помогите с php
29 сообщений
#15 лет назад
С php пока что дружу плохо. Прошу помочь мне сделать такую конструкцию:if( в строке адреса браузера нету слова 'news' и слова 'forum'' ) echo 1;
601 сообщение
#15 лет назад
Оффтопик
Бросайте PHP, учите последовательно С, Pascal, С++, D - именно в этой последовательности. Если сильно захочется, выучите что-нибудь эзотерическое...
И только будучи подготовленным таким образом, если ну ооочень захочется и не будет противно - снова садитесь за PHP.
Из плюсов - у вас не будет таких проблем, да и просто хорошим программистом будете иметь возможность стать.
Бросайте PHP, учите последовательно С, Pascal, С++, D - именно в этой последовательности. Если сильно захочется, выучите что-нибудь эзотерическое...
И только будучи подготовленным таким образом, если ну ооочень захочется и не будет противно - снова садитесь за PHP.
Из плюсов - у вас не будет таких проблем, да и просто хорошим программистом будете иметь возможность стать.
29 сообщений
#15 лет назад
Всем спасибо за ответы. Особая благодарность Lisio. Проблема решена 
1322 сообщения
#15 лет назад
Оффтопик
dervinar, выучить-то не проблема, проблема потом с этими "знаниями" куда-то приткнуться.
В стоящие большие проекты новичка не возьмут. В оффлайн зачастую некуда (ну нет этих контор в городе. или места заняты. php деволопером, верстальщиком, 1с-программером - пожауйста, или зряплата у работающих не первый год такая, что плакать хочется и на пирожок дать ).
А маленьких проектов на том же фрилансе очень-очень мало.
Вот и учишь то, что и спрос имеет.
PS учил и pascal и cpp. сейчас учу perl
В стоящие большие проекты новичка не возьмут. В оффлайн зачастую некуда (ну нет этих контор в городе. или места заняты. php деволопером, верстальщиком, 1с-программером - пожауйста, или зряплата у работающих не первый год такая, что плакать хочется и на пирожок дать ).
А маленьких проектов на том же фрилансе очень-очень мало.
Вот и учишь то, что и спрос имеет.
PS учил и pascal и cpp. сейчас учу perl
601 сообщение
#15 лет назад
Оффтопик
PERL это именно та "сделка с совестью", на которую я тоже пошел. Вроде бы и скриптовый язык, и на хостингах и на всех есть, но и не php.
Кто ищет, тот всегда найдет, поверьте мне. Вы, как человек, освоивший pascal и cpp, сайты-однодневки даже на php(лучше всетаки perl) будете писать куда быстрее и продуктивнее.
Не говоря о том, спрос на Java программистов сейчас достаточно высок, попробуйте погуглить...
Как минимум появляется умение искать информацию, а не заходить с такими вопросами на форум...
PERL это именно та "сделка с совестью", на которую я тоже пошел. Вроде бы и скриптовый язык, и на хостингах и на всех есть, но и не php.
Кто ищет, тот всегда найдет, поверьте мне. Вы, как человек, освоивший pascal и cpp, сайты-однодневки даже на php(лучше всетаки perl) будете писать куда быстрее и продуктивнее.
Не говоря о том, спрос на Java программистов сейчас достаточно высок, попробуйте погуглить...
Как минимум появляется умение искать информацию, а не заходить с такими вопросами на форум...
338 сообщений
601 сообщение
#15 лет назад
Оффтопик
К сожалению, да... Может вылезем из оффтопа уже? Создал тему, ]https://forum.weblancer.net/themes/13666.html?page=1#p196716
626 сообщений
#15 лет назад
Цитата ("eXsofter"):if( в строке адреса браузера нету слова 'news' и слова 'forum'' ) echo 1;
Цитата ("Lisio"):
if(!preg_match("/news|forum/",$_SERVER))
echo 1;
Фикус в том, что в задании говорится И, а в решении ИЛИ. Если строго следовать заданию должно быть так:
if(!preg_match("/news.*forum|forum.*news/",$_SERVER))
echo 1;
248 сообщений
#15 лет назад
Джоэла на вас нет.if (strpos($_SERVER, 'forum') === false && strpos($_SERVER,'news') === false)
{
echo 1;
}
1172 сообщения
#15 лет назад
Цитата ("Demiurh"):Фикус в том, что в задании говорится И, а в решении ИЛИ.
Двойка с минусом. В решении говорится, что в адресе нет ни news, ни forum. А в вашем случае - лишнее расходование времени сервера.
Цитата ("werewolf"):
Джоэла на вас нет.
Во-первых, очень спорно, что два stripos быстрее одного preg_match. Профайлер вам в помощь. Во-вторых, слишком тонка грань между оптимальностью скорости выполнения кода и его читабельностью.
Добавив еще 2 таких условия, вы смените национальность на индусскую.
248 сообщений
#15 лет назад
А мне кажется, наоборот код яснее, чем при использовании preg_match.Программист не знающий о регулярных выражениях сможет разобраться.
1172 сообщения
#15 лет назад
Цитата ("werewolf"):А мне кажется, наоборот код яснее, чем при использовании preg_match.
Зависит от того, насколько привычно работать с регулярками.
Цитата ("werewolf"):
Программист не знающий о регулярных выражениях сможет разобраться.
Программист не знающий о регулярных выражениях - не программист.
248 сообщений
#15 лет назад
$max = 100000;
$uri = strtolower('ссылка;);
$start = microtime(true);
for($i=0;$i<$max;$i++)
{
if (strpos($uri, 'forum') === false && strpos($uri,'news') === false)
{
}
}
$end1 = microtime(true)-$start;
$start = microtime(true);
for($i=0;$i<$max;$i++)
{
if (!preg_match("/news|forum/",$uri))
{
}
}
$end2 = microtime(true)-$start;
$start = microtime(true);
for($i=0;$i<$max;$i++)
{
if (!preg_match("/news.*forum|forum.*news/",$uri))
{
}
}
$end3 = microtime(true)-$start;
echo "strpos: $end1\n";
echo "preg_match(1): $end2\n";
echo "preg_match(2): $end3\n";
strpos: 0.0811440944672
preg_match(1): 0.225165843964
preg_match(2): 0.290424108505
strpos: 0.0796511173248
preg_match(1): 0.223737001419
preg_match(2): 0.28486084938
strpos: 0.0807681083679
preg_match(1): 0.22413110733
preg_match(2): 0.283967018127
strpos: 0.0791609287262
preg_match(1): 0.236745119095
preg_match(2): 0.287521123886
strpos: 0.082291841507
preg_match(1): 0.229388952255
preg_match(2): 0.285306930542
248 сообщений
#15 лет назад
А вот stripos медленный, 0.336187124252. Он каждый раз приводит строки к нижнему регистру в цикле.
12 сообщений
1172 сообщения
#15 лет назад
Цитата ("werewolf"):А вот stripos медленный
Скорее всего и preg_match("/news|forum/i",$uri) при своем модификаторе i будет медленнее. В любом случае приведение к нижнему регистру нужно делать до обработки, так быстрее.
А если добавить еще 2 условия? К примеру, guestbook и page. Насколько нагроможденными стану условия и кто быстрее будет?
248 сообщений
#15 лет назад
Цитата ("Lisio"):А если добавить еще 2 условия? К примеру, guestbook и page.
Второе регулярное выражение отбросим.
strpos: 0.0800879001617
preg_match(1): 0.255738973618
strpos: 0.0806710720062
preg_match(1): 0.258882045746
strpos: 0.0806658267975
preg_match(1): 0.25576210022