Existe-t-il un moyen de continuer à faire de la communication externe au cas où la communication interne rencontrerait une déclaration?
Par exemple
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue; // But not the internal foreach. the external;
}
}
}
Essayez ceci, devrait fonctionner:
continue 2;
À partir du PHP Manual:
Continuer accepte un argument numérique facultatif lui indiquant le nombre de niveaux de boucles englobantes à ignorer jusqu'à la fin.
ici dans les exemples (exactement le 2ème) décrit le code dont vous avez besoin
Essayez ceci: continue 2;
Selon le manuel:
continue accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of.
Deux solutions sont disponibles pour cette situation, utilisez break
ou continue 2
. Notez que lorsqu’on utilise break pour sortir de la boucle interne, tout code subséquent sera exécuté après la boucle interne.
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
break;
}
}
echo "This line will be printed";
}
L’autre solution consiste à utiliser continue
suivi du nombre de niveaux précédents.
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue 2;
}
}
// This code will not be reached.
}
<?php
foreach($c as $v)
{
foreach($v as $j)
{
if($j = 1)
{
continue 2; // note the number 2
}
}
}
?>
Essayez break
au lieu de continue
.
Vous pouvez suivre break
avec un entier, en indiquant le nombre de boucles dont vous souhaitez sortir.
Cela continuera à des niveaux supérieurs (donc le foreach externe)
continue 2
vous devez utiliser break
au lieu de continuer, si je vous comprends bien
Ici, j'ai écrit une explication à ce sujet: Qu'entend-on par un chiffre après "break" ou "continue" en PHP?