Ну вот типа делаем мы банальное меню в цикле: PHP: <?php foreach($items as $item){ if($item['current']){ // типа текущий пункт меню } else{ //Типа все остальные } } ?> Т.е. получается, если у нас текущий пункт меню первый то дальше условие работает "вхолостую" А хочется что-то вроде: PHP: <?php foreach($items as $item){ if($item['current']){ // типа текущий пункт меню // КИЯЯЯЯ прыгам вниз } else{ //Типа все остальные } } //Внизу типа внутренний указатель массива остался там же поэтому foreach($items as $item){ // Типа все остальное } ?> Наверн можно как-то с функциями такую штуку сделать.. но хочется типа просто, такое бывает вообще? P.S. Не спрашивайте зачем мне эту нужно, просто сидел быдлокодил и пришла в голову дурацкая мысль.
break заканчивает выполнение текущей структуры (цикла) for, foreach, while, do..while или switch. break принимает необязательный числовой аргумент, указывающий, сколько содержащих вкладывающих структур прерывают выполнение. Код (Text): $arr = array ('one', 'two', 'three', 'four', 'stop', 'five'); while (list (, $val) = each ($arr)) { if ($val == 'stop') { break; /* Вы можете также записать 'break 1;' */ } echo "$val<br>\n"; } /* Использование необязательного аргумента. */ $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br>\n"; break 1; /* Выход только из switch. */ case 10: echo "At 10; quitting<br>\n"; break 2; /* Выход из switch и из while. */ default: break; } }
Benjamin это заканчивает только текущую итерацию и начинает следующую. А вопрос был в другом. akrinel PHP: <?php $stop=0; $items=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); for ($i=0;$i<count($items) && !$stop;$i++) { if ($i==5) $stop=1; echo '<br />'.$i; } echo ' '.$i; ?>
AlexGousev, Benjamin Вы меня не поняли. Я знаю и про break и про continue Имеется в виду: есть у нас N пунктов пункт 1 пункт 2 пункт 3 пункт ... пункт N-2 пункт N-1 пункт N Если пункт 3 текущий и он у нас может быть только один, то получается остальные N-3 пункта, нам условие уже не нужно, ибо зачем сравнивать если текущий пункт мы уже нашли? Поэтому хочется что бы в дальнейшем цикл работал уже без условия.
akrinel если сравнение сложное, то можно заменить его на if($found) иначе в обычном случае это даст 0.01% выигрыша. если код становится плохо читаем, то я выношу обработку в функцию.
Ну да я так и делаю. Я же говорю, просто возникла дурацкая мысль а-ля было бы круто если можно было бы "подменить" тело цилка на середине выполнения