[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    1)почитай про эту функцию и про управление буферизацией вывода... к сокетам никакого отношения
    2)это переносы строк, в самом конце 2 чтобы отделить данные от заголовка
    3)ты не увидел точку с запятой
    4)можно и так, но я вообще за curl
     
    1 person likes this.
  2. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Привет, тут логическая задачка...

    короче есть куча переменных
    game_0_host
    game_0_port
    game_1_host
    game_1_port
    game_2_host
    и так далее

    как прокрутить циклом эти переменные так чтобы в цикле были индексы game_0
    А значения _host или _port и значение


    Если бы переменные были массивом game[0]['host']
    то это было бы похоже на конструкцию foreach($game as $k=>$c)
    Но к сожалению переменные именно в таком виде
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Byrger Для разнообразия без регулярок
    PHP:
    $arr 'game_0_host
    game_0_port
    game_1_host
    game_1_port
    game_2_host'
    ;
    $arr explode("\n"$arr);
    $out = array();
    foreach(
    $arr as $row)
    {
    list(
    $trash,$id,$val) = explode('_',$row,3);
    $out[$id][] = trim($val);
    }
    var_dump($out);
     
    _________________________
  4. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Немного видимо меня не поняли
    Куча переменных это вот так

    PHP:
    $game_0_host 127.0.0.1;
    $game_0_port 2006;
    $game_1_host 127.0.0.1;
    $game_1_port 2007;
    $game_2_host 127.0.0.1;
    ....
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Byrger
    PHP:
    $game_0_host '127.0.0.1';
    $game_0_port 2006;
    $game_1_host '127.0.0.1';
    $game_1_port 2007;
    $game_2_host '127.0.0.1'
    $out = array(); 
    foreach(
    $GLOBALS as $i => $val)
    {
    if (
    stripos($i,'game_')===false) continue;

    list(
    $trash,$id,$type) = explode('_',$i,3);
    $out[$id][$type] = trim($val);

    }
    var_dump($out);  
    Эстеты могут еще и так:
    PHP:
    $game_0_host '127.0.0.1';
    $game_0_port 2006;
    $game_1_host '127.0.0.1';
    $game_1_port 2007;
    $game_2_host '127.0.0.1'
    $out = array(); 
    $i 0;
    while ((isset(${
    'game_'.$i.'_port'}) && isset(${'game_'.$i.'_host'}))) {
    echo ${
    'game_'.$i.'_host'}.'='.${'game_'.$i++.'_port'}."\r\n";
    }
     
    _________________________
    #16105 Gifts, 6 Aug 2010
    Last edited: 6 Aug 2010
  6. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Не работает....
    Может из-за того что я вызываю в методе класса...
    И переменные немного с другим именем:
    Yii::app()->params->game_0_host и так далее (Yii framework)

    Пробовал насильно взять пример который вы выложили, не получилось...
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Byrger Еще что вы забыли сказать? Попробуйте второй пример. И вообще - перегрузите метод класса, который создает переменные в таком виде, чтобы делал также копию в удобном для вас виде

    Вариант:
    PHP:
    class test_class{
        function 
    test_class()
        {
            
    $this->game_0_host '127.0.0.1';
            
    $this->game_0_port 2006;
            
    $this->game_1_host '127.0.0.1';
            
    $this->game_1_port 2007;
            
    $this->game_2_host '127.0.0.1'
        }
    }
     
    $test = new test_class();

    $i 0;
    while ((isset(
    $test->{'game_'.$i.'_port'}) && isset($test->{'game_'.$i.'_host'}))) {
    echo 
    $test->{'game_'.$i.'_host'}."\r\n";
    echo 
    $test->{'game_'.$i.'_port'}."\r\n";
    $i++;
     
    _________________________
    #16107 Gifts, 6 Aug 2010
    Last edited: 6 Aug 2010
  8. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Подскажите пожалуста,можно ли как-то не выводить ответ сервер(переменные с данными) если сервер не отвечает или какая-либо переменная равна какому-либо значению
    PHP:
    $sr=@$pq->query_info(trim($row['sip']).':'.$row['sport']);
    query_info функция подключения к серверу с помощью сокетов,отправка хедеров и т.д.
    Вот если к примеру $sr['name']; будет null то все остальные данные не выводились бы вообще,по скольку запросов много и выводятся данные с разных серверов в таблицу,если просто при отсутствии ответа переменные заменять пустыми значениями,то в таблице просто пустые ячейки.Можно ли как-то решить эту проблему?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qW1zer http://www.php.net/manual/en/control-structures.if.php
     
    _________________________
  10. Yetisports

    Yetisports Banned

    Joined:
    11 Jul 2010
    Messages:
    147
    Likes Received:
    12
    Reputations:
    17
    хочу написать скрипт для вытаскивания из больших спам листов определенного количества мыл по деапозону, тоесть от 0 до 50000, 50000 до 100000

    нашел вот такой пример:

    <?
    $file = fopen("c:/www/html/file.txt","r");
    if(!file)
    {
    echo("Ошибка открытия файла");
    }
    else
    {
    $buff = fread ($file,100);
    print $buff;
    }
    ?>

    как сделать чтобы он считал строки по диапозону и выводил результат не встроку а в столбец или пробел заменялся переносом на новую строку
     
  11. legaljo

    legaljo Member

    Joined:
    27 Jul 2010
    Messages:
    195
    Likes Received:
    26
    Reputations:
    7
    ^^
    print $buff."<br>"
     
    #16111 legaljo, 6 Aug 2010
    Last edited: 6 Aug 2010
  12. energ77

    energ77 New Member

    Joined:
    17 Jul 2010
    Messages:
    49
    Likes Received:
    4
    Reputations:
    0
    Есть ли справочник по php на смарт? в убобно формате?
     
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    energ77 http://www.php.net/download-docs.php - chm файл или many html files, выбирайте
     
    _________________________
  14. energ77

    energ77 New Member

    Joined:
    17 Jul 2010
    Messages:
    49
    Likes Received:
    4
    Reputations:
    0
    Спасибо взял в доке)
     
  15. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    видимо вы не знаете разницу между " и '
    Правильно будет
    $buff.'<br>'
    или
    "$buff<br>"
     
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    phpdreamer расскажите нам, какая принципиальная разница в данном случае? Ваш второй вариант, кстати, ужасен, по доброте душевной превращаете код в нечитаемое месиво
     
    _________________________
  17. legaljo

    legaljo Member

    Joined:
    27 Jul 2010
    Messages:
    195
    Likes Received:
    26
    Reputations:
    7
    Ты видимо головой пошатнулся, я тебя что спрашивал как правильно будет?
    Как уже за*бали эти хардкорные рнр3 быдлокодеры.
     
    #16117 legaljo, 7 Aug 2010
    Last edited: 7 Aug 2010
  18. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    извеняюсь за оффтоп, но я согласен legaljo. Такое замечание да с таким саказмом с которым сказал это phpdreamer несущественно, причём на таких кодах
     
  19. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    http://www.phpbench.com/ судя по всему legaljo получше тебя знает)))
     
  20. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Проблема парсинга,не знаю как решить...
    вобщем есть любой текст,вида:
    abc abc abc abc abc abc abc abc&lt;img src=&quot;abc.gif&quot;&gt;abc abc abc abc

    и нужно сделать замену,если тег идёт только вида &lt;img src=&quot;...&quot;&gt;
    тогда заменить на <img src="..."> а если нет,тогда ничего не делать...
    т.е. сделать своеродный фильтр хтмл тегов от xss,чтобы ничего другого кроме как разных картинок вида img.gif не могли всунуть...
     
Thread Status:
Not open for further replies.