Wie findet man den foreach-Index?

Ist es möglich, den "Foreach"-Index zu finden?

in einer "for"-Schleife wie folgt zu finden:

for ($i = 0; $i < 10; ++$i) {
   echo $i . ' ';
}

Mit $i erhält man den Index.

Muss ich die "for"-Schleife verwenden oder gibt es eine Möglichkeit, den Index in der "forach"-Schleife zu erhalten?

Lösung
foreach($array as $key=>$value) {
    // do stuff
}

$key ist der Index jedes $array-Elements

Kommentare (7)

Sie können einen Hack in Ihren foreach einbauen, z. B. ein Feld, das bei jedem Durchlauf inkrementiert wird, was genau das ist, was die for -Schleife Ihnen in einem numerisch indizierten Array bietet. Ein solches Feld wäre ein Pseudo-Index, der manuell verwaltet werden muss (Inkremente usw.).

Ein foreach liefert Ihnen Ihren Index in Form des $key Wertes, so dass ein solcher Hack nicht notwendig sein sollte.

z.B. in einer foreach

$index = 0;
foreach($data as $key=>$val) {
    // Use $key as an index, or...

    // ... manage the index this way..
    echo "Index is $index\n";
    $index++;
}
Kommentare (2)

Sie können $i außerhalb der Schleife erzeugen und $i++ am Ende der Schleife ausführen.

Kommentare (1)