Одесса: 4°С (вода 9°С)
Киев: 1°С
Львов: 6°С

Тема: PHP

Ответить в теме
Страница 1 из 6 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 20 из 113
  1. Вверх #1

    По умолчанию PHP

    Такой код имеет право на существование?
    PHP код:
    while (true) {
    //код
    $a=strpos($str1,$str2) or break;
    //ещё код

    Т.е. выражаясь человеческим языком: если подстроку не найдёт в строке while прекращается?


  2. Вверх #2
    В общем, не проконала такая фигня

    В следующем выражении в чём ошибка?

    PHP код:
    $j=strpos($s,$i); 
    $i - число,
    $s - строка.

  3. Вверх #3
    Цитата Сообщение от Прим Палвер Посмотреть сообщение
    Такой код имеет право на существование?
    PHP код:
    while (true) {
    //код
    $a=strpos($str1,$str2) or break;
    //ещё код

    Т.е. выражаясь человеческим языком: если подстроку не найдёт в строке while прекращается?
    Человеческим языком трудно if написать?

  4. Вверх #4
    В смысле? Код?

  5. Вверх #5
    Цитата Сообщение от Прим Палвер Посмотреть сообщение
    В общем, не проконала такая фигня

    В следующем выражении в чём ошибка?

    PHP код:
    $j=strpos($s,$i); 
    $i - число,
    $s - строка.
    Выдержка из php мануала:
    "int strpos ( string haystack, string needle [, int offset] ) ...
    Если needle не является строкой, он приводится к целому и трактуется как код символа".
    А так ошибки никакой нет

  6. Вверх #6
    Цитата Сообщение от Прим Палвер Посмотреть сообщение
    В смысле? Код?
    Вот так:
    Код:
    $a = strpos($str1, $str2);
    
    if ($a === false) break;

  7. Вверх #7
    Вот применение: нужно вычислить индексы вхождения каждого числа в строке.
    А возвращаются пустые значения
    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 в 19:13.

  8. Вверх #8
    Новичок
    Пол
    Мужской
    Возраст
    33
    Сообщений
    39
    Репутация
    15
    Прочитай еще раз внимательно предыдущий пост с выдержкой из мануала. И обрати внимание на то как интерпретируется второй параметр функции 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>"
        } 

  9. Вверх #9
    Спасибо! И подумать не мог. Везде пишется, что число запросто интерпретируется в строку...

  10. Вверх #10
    Раз уж пошёл разговор, кто-то ответит ещё на пару вопросов?

    1. На моём сайте абсолютно все страницы выводятся через страницу индекс с помощью разных инклюдов (исторически сложилось). Недостатки такой системы?

    2. В разных инклюдах много однотипных данных. Если слить в один большой файл (не базу данных), каковы недостатки слияния? Не все, а около сотни. Один файл может завесить пару мегабайт.

  11. Вверх #11
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    Цитата Сообщение от Прим Палвер Посмотреть сообщение
    1. На моём сайте абсолютно все страницы выводятся через страницу индекс с помощью разных инклюдов (исторически сложилось). Недостатки такой системы?
    Никаких недостатков если написано нормально. А об удобстве подобного судите сами. Я бы на вашем месте переписал все под темплетный движок, Smarty например, удобнее поддерживать в дальнейшем.

    Цитата Сообщение от Прим Палвер Посмотреть сообщение
    2. В разных инклюдах много однотипных данных. Если слить в один большой файл (не базу данных), каковы недостатки слияния? Не все, а около сотни. Один файл может завесить пару мегабайт.
    Что за данные? Чем они являются? Текст или переменные?

  12. Вверх #12
    Одна строковая переменная.

    Т.е. вопрос вот в чём. Так, как сейчас, 66 книг в Библии, например, каждый пользователь смотрит что-то своё. А при слиянии в одну, все будут тянуть ОДИН файл. Не будет грузить сервер? или ещё какие непонятности-неприятности...

    p.s. ногами не пинать, до MySQL я ещё не дочитал.

  13. Вверх #13
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    Почитай про Smarty. Я думаю ты откроешь для себя много нового, и множество новых идей. А в том чтобы тянуть один файл нет ничего плохого.
    Последний раз редактировалось Илья Царюк; 07.09.2007 в 13:58.

  14. Вверх #14
    Ну, если ничего плохого, сливаю в несколько огромных файлов-инклюдов, а в них уже будет switch.

    Smarty - это система управления сайтом?

  15. Вверх #15
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    Template Engine
    http://smarty.php.net/

    Именно то чего вам так нехватает. Не поленитесь, потратьте время на изучение. Уверяю, пред вами откроется миллион возможностей и идей.

    А по поводу одного или сотни файлов, все зависит от ситуации. Если у вас виндоус и файлы фрагментированны и разросаны по жескому диску то их чтение будет более долгим чем чтение одного файла.

    Если ваш ОДИН файл или МНОГО файлов являются PHP скриптами, то лучше использовать МНОГО файлов. Так как один большой файл будет грузится в память каждый раз без особой на то неободимости. И каждый раз будут обрабатываться ваш свич. Чтобы это не стало узким местом для ваших скриптом воспользуйтесь кешером кода. xcache,APC и другие. Это снизит время выполнения скрипта.

    А вообще постарайтесь отделять данные от логики.
    Последний раз редактировалось Илья Царюк; 07.09.2007 в 14:16.

  16. Вверх #16

    По умолчанию ПОИСК

    Как кто вычленяет слова в поиске?
    Например, в ответ на запрос "Адам" может выдавать "мадам".
    (привожу и то и другое к верхнему регистру)
    Или "рост" - "росток". И т.д.
    Как справляетесь?

    Я попытался-было сделать такой код условия:
    PHP код:
    $s2=strpos(strtoupper($s),$search);
    if ((
    $s2===0)or(($s2>0)and(!strpos($alphabet,$s{$s2-1}))))
    {...} 
    $alphabet - допустимые символы
    $search - слово, что ищем
    $s - строка, в которой ищем
    Но всё равно выдаёт слова наподобие мадамы
    strpos должен возвращать false, а наоборот - true, когда находит пробел (он - на нулевой позиции в последовательности $alphabet). А получается, что сквозь фильтр проходят и другие символы...
    Последний раз редактировалось Прим Палвер; 10.09.2007 в 22:39.

  17. Вверх #17
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    а зачем вычленять слова? или это полнотекстовый поиск или поиск строго указанного. для полнотекстового поиска с релевантностью есть хорошие готовые решения. лично я никак не вычленяю слова, а пользуюсь FullText Search в MySQL.

  18. Вверх #18
    Понял. Рано занялся поиском.

    Хотя при вводе фраз уже находил (за 4-5 секунд) на всём сайте.

    Оказалось, что на сервере оно же не работает. Видать, сильно грузит и автоматически блокируется.

  19. Вверх #19
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    Смотря какой целью вы задаетесь. Если вы ищите по файлам с текстом, то тут единственный вариант хорошо пойдет - индексация файлов скриптом в мускуль в таблицу MyISAM и организация полнотекстового поиска с сортировкой по релевантности. Или можете индексировать только ключевые слов и складывать их куда захотите, и искать потом по ним. Главное не нужно искать по файлам, создавайте индекс, тогда все будет летать.

  20. Вверх #20
    Т.е. нужно заранее выбрать то, что будут искать?


Ответить в теме
Страница 1 из 6 1 2 3 ... ПоследняяПоследняя

Похожие темы

  1. Введение в PHP, MySQL
    от Anonymous в разделе Программирование
    Ответов: 81
    Последнее сообщение: 21.03.2015, 02:17
  2. Бесплатно 25 мб места, cPanel, MySQL, PHP, CGI, Perl и др.
    от OnlineHoster в разделе Интернет :: технические вопросы
    Ответов: 1
    Последнее сообщение: 25.02.2006, 22:00
  3. помогите! PHP -> сохранение страницы с другого хоста
    от [)wad.org в разделе Программирование
    Ответов: 5
    Последнее сообщение: 22.03.2005, 16:25
  4. пмогите!!!!! (php,mysql, while();)
    от Jeno в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.11.2004, 17:07
  5. Кто у нас программирует на PHP?
    от iFog в разделе Программирование
    Ответов: 23
    Последнее сообщение: 10.03.2004, 17:35

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения