Blick auf diese:php-Taste() in foreach-Schleife seltsame Verhalten oder bekommen den nächsten Schlüssel in foreach-Schleife
<?php
$array = array('a' => '…', 'b' => '…', 'c' => '…', 'd' => '…', 'e' => '…', 'f' => '…');
foreach ($array as $key => $val){
echo "current key: $key, next key: ".key(($array))."<br>";
}
?>
OUTPUT:
current key: a, next key: b
current key: b, next key: c
current key: c, next key: d
current key: d, next key: e
current key: e, next key: f
current key: f, next key: a
ich für eine Funktion war auf der Suche erhalten die nächster Schlüssel eines assoziativen Arrays innerhalb einer foreach-Schleife. Ich habe es ein bisschen versucht und plötzlich hat es funktioniert. (wie Sie in meinem Beispiel sehen können).
ABER WARUM FUNKTIONIERT DIESES? Macht das Sinn? ... nicht zu mir! Kannst du mir das erklären?
Es ist wegen der key(($array))
Teil aber warum? ich meine .. es war ein Fehler .. Ich wollte key($array)
schreiben, aber ich habe vergessen, die 2 Klammern zu löschen. Also war es Zufall !!!
Warum verhält es sich so? Ich meine, es ist gut, aber ... ????
Interessant. Wenn Sie die Fehlerberichterstattung aktivieren, werden viele Fehler angezeigt. Die zusätzlichen Klammern brechen die direkte Variablenreferenz. '$ a' ist eine Variable,' ($ a) 'ist ein Ausdruck, der zum * Wert * von' $ a' führt. 'key' erwartet eine Variable, die als Referenz übergeben wird. Ich bin mir nicht sicher, was genau 'key' damit macht und warum es sich verhält, aber ich würde dies unter falschem undefiniertem Verhalten ablegen. – deceze
whoa, wenn das Verhalten super ist. Es gab so viele Male, dass ich so etwas hätte verwenden können. –
aber was schlägst du vor? soll ich es so halten? –