Такой код имеет право на существование?
Т.е. выражаясь человеческим языком: если подстроку не найдёт в строке while прекращается?PHP код:
while (true) {
//код
$a=strpos($str1,$str2) or break;
//ещё код
}
|
Такой код имеет право на существование?
Т.е. выражаясь человеческим языком: если подстроку не найдёт в строке while прекращается?PHP код:
while (true) {
//код
$a=strpos($str1,$str2) or break;
//ещё код
}
В общем, не проконала такая фигня
В следующем выражении в чём ошибка?
$i - число,PHP код:
$j=strpos($s,$i);
$s - строка.
В смысле? Код?
Вот применение: нужно вычислить индексы вхождения каждого числа в строке.
А возвращаются пустые значения(упростил, чтобы был виден только глючный код/PHP код:
$s="1g;lbn2fgknn3gbkm4glmnh";
for ($i=1;$i<5;$i++) {
$j=strpos($s,$i);
echo "\$i=".$i."<br>";
echo "\$j=".$j."<br><br>";
}
проверял - на сервере этот карлик тоже не работает)
Последний раз редактировалось Прим Палвер; 06.09.2007 в 18:13.
Прочитай еще раз внимательно предыдущий пост с выдержкой из мануала. И обрати внимание на то как интерпретируется второй параметр функции strpos, если он не является строкой.
Рабочий код:
PHP код:
$s="1g;lbn2fgknn3gbkm4glmnh";
for ($i=1;$i<5;$i++) {
$j=strpos($s,strval($i));
echo "\$i=".$i."<br>";
echo "\$j=".$j."<br><br>";
}
Спасибо! И подумать не мог. Везде пишется, что число запросто интерпретируется в строку...
Раз уж пошёл разговор, кто-то ответит ещё на пару вопросов?
1. На моём сайте абсолютно все страницы выводятся через страницу индекс с помощью разных инклюдов (исторически сложилось). Недостатки такой системы?
2. В разных инклюдах много однотипных данных. Если слить в один большой файл (не базу данных), каковы недостатки слияния? Не все, а около сотни. Один файл может завесить пару мегабайт.
Одна строковая переменная.
Т.е. вопрос вот в чём. Так, как сейчас, 66 книг в Библии, например, каждый пользователь смотрит что-то своё. А при слиянии в одну, все будут тянуть ОДИН файл. Не будет грузить сервер? или ещё какие непонятности-неприятности...
p.s. ногами не пинать, до MySQL я ещё не дочитал.
Почитай про Smarty. Я думаю ты откроешь для себя много нового, и множество новых идей. А в том чтобы тянуть один файл нет ничего плохого.
Последний раз редактировалось Илья Царюк; 07.09.2007 в 12:58.
Ну, если ничего плохого, сливаю в несколько огромных файлов-инклюдов, а в них уже будет switch.
Smarty - это система управления сайтом?
Template Engine
http://smarty.php.net/
Именно то чего вам так нехватает. Не поленитесь, потратьте время на изучение. Уверяю, пред вами откроется миллион возможностей и идей.
А по поводу одного или сотни файлов, все зависит от ситуации. Если у вас виндоус и файлы фрагментированны и разросаны по жескому диску то их чтение будет более долгим чем чтение одного файла.
Если ваш ОДИН файл или МНОГО файлов являются PHP скриптами, то лучше использовать МНОГО файлов. Так как один большой файл будет грузится в память каждый раз без особой на то неободимости. И каждый раз будут обрабатываться ваш свич. Чтобы это не стало узким местом для ваших скриптом воспользуйтесь кешером кода. xcache,APC и другие. Это снизит время выполнения скрипта.
А вообще постарайтесь отделять данные от логики.
Последний раз редактировалось Илья Царюк; 07.09.2007 в 13:16.
Как кто вычленяет слова в поиске?
Например, в ответ на запрос "Адам" может выдавать "мадам".
(привожу и то и другое к верхнему регистру)
Или "рост" - "росток". И т.д.
Как справляетесь?
Я попытался-было сделать такой код условия:
$alphabet - допустимые символыPHP код:
$s2=strpos(strtoupper($s),$search);
if (($s2===0)or(($s2>0)and(!strpos($alphabet,$s{$s2-1}))))
{...}
$search - слово, что ищем
$s - строка, в которой ищем
Но всё равно выдаёт слова наподобие мадамы
strpos должен возвращать false, а наоборот - true, когда находит пробел (он - на нулевой позиции в последовательности $alphabet). А получается, что сквозь фильтр проходят и другие символы...
Последний раз редактировалось Прим Палвер; 10.09.2007 в 21:39.
а зачем вычленять слова? или это полнотекстовый поиск или поиск строго указанного. для полнотекстового поиска с релевантностью есть хорошие готовые решения. лично я никак не вычленяю слова, а пользуюсь FullText Search в MySQL.
Понял. Рано занялся поиском.
Хотя при вводе фраз уже находил (за 4-5 секунд) на всём сайте.
Оказалось, что на сервере оно же не работает. Видать, сильно грузит и автоматически блокируется.
Смотря какой целью вы задаетесь. Если вы ищите по файлам с текстом, то тут единственный вариант хорошо пойдет - индексация файлов скриптом в мускуль в таблицу MyISAM и организация полнотекстового поиска с сортировкой по релевантности. Или можете индексировать только ключевые слов и складывать их куда захотите, и искать потом по ним. Главное не нужно искать по файлам, создавайте индекс, тогда все будет летать.
Т.е. нужно заранее выбрать то, что будут искать?
Социальные закладки