Переключить значение в цикле

Тема в разделе "PHP", создана пользователем alex_storm, 4 мар 2016.

  1. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Всем привет.

    PHP:
    $keys = array();

    $key 0;
    $license[$key];
    $count 0;

    $images = array();

    $status validate($key);

    foreach(
    $images as $image){
    if(
    $status){
    // все ок, делаем задачу
    }else{
    $key++;
    // Переустанавливаем значение ключа и возвращаемся в начало цикла
    }
    }
    Собственно не получается переключить значение ключа, если статус у него false.

    При попытке переключения( Он его переключает, все норм), но не возвращает на начало интерации.

    Вопрос в том, как вернуть в начальную точку итерации.
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    ты что-то перемудрил. что ты хочешь сделать, опиши задачу.
     
  3. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Что именно подразумевается под возвратом в начало цикла? Если нужно просто перейти к следующей итерации, то это и так должно происходить после завершения выполнения кода в этом блоке (а там только $key++).
    Если же нужно запустить цикл заново, то надо обернуть его в функцию и сделать рекурсивный вызов, передав туда необходимые переменные.
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    мне кажется он что-то перемудривает)

    а с рекурсией, да, поможет) но главное не вогнать в бесконечный цикл :Smile:
     
  5. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Да, не, цикл же конечный, т.к. имеет четкое кол-во элментов массива.

    А так, после итерации вернуться сюда http://prntscr.com/abft5u
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Если я правильно понимаю, что ты имеешь ввиду, то оно ж и так туда возвращается и начинает итерацию уже со следующим значением в $image.
    Если этого не происходит, значит ты не весь код показал и в недостающем коде либо ошибка, либо просто break, который выбрасывает из цикла.
     
  7. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    он хочет, чтобы массив начался сначала, т.е. к примеру первый элемент уже будет пропущен.