In PHP sind Arrays von Natur aus assoziativ und es fehlen integrierte Mechanismen zur Unterscheidung zwischen numerischen Schlüsseln beginnend bei 0 ( sequentielle Arrays) und beliebige Zeichenfolgenschlüssel (assoziative Arrays). Diese Unterscheidung kann für verschiedene Programmierszenarien von entscheidender Bedeutung sein.
Um festzustellen, ob ein Array sequentiell ist, können Sie die neu eingeführte Funktion array_is_list() in PHP 8.1 nutzen. Für ältere PHP-Versionen kann jedoch eine benutzerdefinierte Funktion eine praktische Alternative darstellen:
function array_is_list(array $arr) { if ($arr === []) { return true; } return array_keys($arr) === range(0, count($arr) - 1); }
Diese Funktion prüft, ob das Array leer ist oder ob seine Schlüssel eine fortlaufende Folge von Zahlen beginnend bei 0 sind. Wenn beide Bedingungen erfüllt sind erfüllt sind, wird das Array als sequentiell betrachtet.
Zur Veranschaulichung der Funktionalität von array_is_list() Funktion:
var_dump(array_is_list([])); // true var_dump(array_is_list(['a', 'b', 'c'])); // true var_dump(array_is_list(["0" => 'a', "1" => 'b', "2" => 'c'])); // true var_dump(array_is_list(["1" => 'a', "0" => 'b', "2" => 'c'])); // false var_dump(array_is_list(["a" => 'a', "b" => 'b', "c" => 'c'])); // false
Das obige ist der detaillierte Inhalt vonWie kann ich in PHP zwischen sequentiellen und assoziativen Arrays unterscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!