Вопрос! Циклы

Discussion in 'PHP' started by Alex_Vichi, 25 May 2011.

  1. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    Имеем цикл ну например
    Для проксей использую continue

    $text=file("proxy.txt");
    for ($i=0;$i<count($text); $i++)
    {

    если не подключилась к хосту то чтоб дальше не морозить код использую continue

    если подключаемся идем дальше...
    Подрубаем еще один цикл
    $textw=file("user.txt");
    for ($is=0;$is<count($textw); $is++)
    {
    $user=$textw[$is];

    но подключение может быть не то что нужно мне... ну тип 302 ошибка или 404

    выглядит так если унас переменая $is=5

    if($user[5]=="good_load")
    {
    То все в поряде
    }else{
    чтт тут нужно применить если загрузка неудачна и нужно опять в этом цикле вернутся на $is=5
    }
    }
    }



    надеюсь поняли о чем я.
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Alex_Vichi мы очень рады тому, что вы используете. Но где, собственно, вопрос?
     
    _________________________
    1 person likes this.
  3. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    if($user[5]=="good_load")
    {
    То все в поряде
    }else{
    чтт тут нужно применить если загрузка неудачна и нужно опять в этом цикле вернутся на $is=5
    }


    тут и впрос... при else как перейти на повтор так сказать.... опять же на $is=5 и циклится на нем до удачной
     
  4. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    честно,я нечево не понел...

    покажите целый код
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Alex_Vichi попробуйте яснее выражать собственные мысли. Предполагаю, что вам нужно сделать так:
    Code:
    else{
    //чтт тут нужно применить если загрузка неудачна и нужно опять в этом цикле вернутся на $is=5
    
    
    $is -= 1;
    continue;
    
    
    }
     
    _________________________
  6. buldozer790

    buldozer790 New Member

    Joined:
    25 Nov 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    1. Формать код нормально. статей на эту тему дохера
    2. Написав пост перечитай его, а не сразу топчи отправить (хотя это дело твое -) )
    3. для массивов в пыхпых лучше/удобнее юзоть foreach, полистай на эту тему
    http://ru2.php.net/manual/en/control-structures.foreach.php

    4. в чем проблема в том куске где у тебя нада подрубаться и как ты выразился не то подГлючение сделать что то типа
    Code:
    while(true) {
      $res = подглучение(...);
      if($res) break; //Если все гуд, вываливаем, если нет, то будем крутиться дальше
    }
    
    можно не вечный цикл, а условие вынести в сам while
     
    #6 buldozer790, 25 May 2011
    Last edited: 25 May 2011
  7. dpe_x

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

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    тоже нечего не понял , но может тебе поможет один скромненький "goto" , если ты не знаешь как цикл организовать.
     
  8. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    buldozer790 ты не отом)....
    continue и break тут не может
     
  9. Alex_Vichi

    Alex_Vichi New Member

    Joined:
    9 Dec 2010
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    goto тоже)))
     
  10. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Может использовать флаги?
    То есть некую переменную которая будет =0 мы в цикле и 1 выходим из цикла. и в самом верху цикла проверять =0 или =1
    То есть если в конце цикла ошибка 404 на переменной присваиваем =1 и когда цикл пойдет второй раз то уже поймет,что нужно крутануть большой цикл на 1 положение (а в нем установить флаги снова в 0). Если не нужно выходит из цикла, то в переменные внести нужные данные соответствующие текущему циклу...
    Т.к не очень ясно что в итоге вы хотите добиться..Весь код бы

    Получаются костыли конечно, но....
     
  11. Graffy

    Graffy New Member

    Joined:
    4 May 2011
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Тебе нужно прогнать цикл ещё раз с этой-же переменной ?, если да, то Gifts тебе написал правильный способ.
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Я понял о чем ТС шепчет =) Просто используй цикл FOR и если нужно повторить данную итерацию еще раз просто не увеличивай инкремент.

    PHP:
    <?php
    for ($i=0;$i<=5;) {
    // твой код...
    if($your_code// Если все ок переменная $i увеличиться
    $i++;

    }
    ?>