PHP Utilisation d'un index incrémentiel


Exemple

Cette méthode fonctionne en incrémentant un entier de 0 au plus grand index du tableau.

$colors = ['red', 'yellow', 'blue', 'green'];
for ($i = 0; $i < count($colors); $i++) {
    echo 'I am the color ' . $colors[$i] . '<br>';
}

Cela permet également d'itérer un tableau dans l'ordre inverse sans utiliser array_reverse , ce qui peut entraîner une surcharge si le tableau est volumineux.

$colors = ['red', 'yellow', 'blue', 'green'];
for ($i = count($colors) - 1; $i >= 0; $i--) {
    echo 'I am the color ' . $colors[$i] . '<br>';
}

Vous pouvez ignorer ou rembobiner l'index facilement en utilisant cette méthode.

$array = ["alpha", "beta", "gamma", "delta", "epsilon"];
for ($i = 0; $i < count($array); $i++) {
    echo $array[$i], PHP_EOL;
    if ($array[$i] === "gamma") {
        $array[$i] = "zeta";
        $i -= 2;
    } elseif ($array[$i] === "zeta") {
        $i++;
    }
}

Sortie:

alpha
beta
gamma
beta
zeta
epsilon

Pour les tableaux sans index incrémentiel (y compris les tableaux avec des index dans l'ordre inverse, par exemple [1 => "foo", 0 => "bar"] , ["foo" => "f", "bar" => "b"] ), cela ne peut pas être fait directement. array_values ou array_keys peuvent être utilisés à la place:

$array = ["a" => "alpha", "b" => "beta", "c" => "gamma", "d" => "delta"];
$keys = array_keys($array);
for ($i = 0; $i < count($array); $i++) {
    $key = $keys[$i];
    $value = $array[$key];
    echo "$value is $key\n";
}