/ / Gehen Sie am Anfang einer foreach-Schleife in PHP-php foreach zurück

Gehen Sie am Anfang einer foreach-Schleife in PHP zurück - php, foreach

Ist es möglich ? Oder soll ich die Schleife beenden und eine andere beginnen?

foreach($array as $i)
{
if (something)
// Go back
}

Antworten:

1 für die Antwort № 1

Es ist. Aber nicht bei foreach & ohne die Schleife zu verlassen. Hier "ist eine andere Alternative, für ein gutes Maß.

for ($i = 0; $i < count($array); $i++) {
if (condition) {
$i = 0;
}
do_stuff_with($array[$i]);
}

1 für die Antwort № 2

Erstellen Sie eine Funktion und übergeben Sie das Array. Wenn etwas in der Schleife passiert, rufen Sie die Funktion erneut mit dem Hauptarray auf. Versuche dies -

function check_loop($array) {
foreach($array as $val) {
if (something)
check_loop($array);
}
}
check_loop($array);

1 für die Antwort № 3

Es wird nicht vorgeschlagen, aber Sie können goto verwenden:

cIterator: {
foreach($array as $i)
{
if (something)
goto cIterator;
}
}

1 für die Antwort № 4

Sie können current (), next () und prev () verwenden, um das Array zu durchlaufen und den internen Arrayzeiger hin und her zu bewegen:

$items = array("apple", "box", "cat");
while($item=current($items)) {
print_r($item);
if (needToGoBack($item))
// Go to previous array item
$item = reset($items);
} else {
// Continue to next
$item = next($items);
}
}