Есть трехмерный массив.
Его обход осуществляется следующим способом:
foreach(){
foreach(){
foreach(){
if (){
}
}
}
}
Как мне сделать так, чтоб if отменял самый первый цикл?
Если я правильно понял, вы не хотите прерывать вложенные циклы. Не знаю с какой целью и что вы обходите, но предположу, что что-то ищите.
Можно сделать так:
foreach () { // 1
$found = 0;
foreach () { // 2
foreach () { // 3
if () {
$found++;
}
}
}
if ($found > 0) {
break;
}
}
Но, может быть, лучше выделить метод:
function find() {
$found = 0;
foreach () { // 2
foreach () {
if () { // 3
$found++;
}
}
}
return $found;
}
foreach () { // 1
$found = find();
if ($found > 0) {
break;
}
}
Для того, чтобы выйти из вложенных циклов на PHP(for, foreach, while, do-while или switch) нужно использовать: break *количество вложенных циклов, которые нужно прервать*;
Тогда ваш код будет выглядеть следующим образом:
foreach(){
foreach(){
foreach(){
if (){
break 3;
}
}
}
}
Прочитать подробнее про break в PHP можно в официальной документации.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
здравствуйте, есть две такие регулярки: '~\*\*([^*]+)\*\*~' и ~""(+?)""~, но они не улавливают текст если в нём есть табы, переносы и тд