52 votes

PHP, continuez ; sur foreach(){ foreach(){

Existe-t-il un moyen de continuer sur le foreach externe au cas où le foreach interne répondrait à une déclaration ?

Par exemple

 foreach($c as $v)
{
    foreach($v as $j)
    {
        if($j = 1)
        {
            continue; // But not the internal foreach. the external;
        }
    }
}

106voto

user973254 Points 2728

Essayez ceci, cela devrait fonctionner :

 continue 2;

Extrait du manuel PHP :

Continue accepte un argument numérique facultatif qui lui indique combien de niveaux de boucles englobantes il doit sauter jusqu'à la fin.

ici dans les exemples (2e exactement) le code décrit dont vous avez besoin

13voto

matino Points 7349

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. 

4voto

JNDPNT Points 3496

Cela continuera aux niveaux supérieurs (donc le foreach externe)

  continue 2

4voto

daiscog Points 3088
<?php
foreach($c as $v)
{
    foreach($v as $j)
    {
        if($j = 1)
        {
            continue 2; // note the number 2
        }
    }
}
?>

RTM

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X