Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP zwischen assoziativen und sequentiellen Arrays unterscheiden?

Wie kann ich in PHP zwischen assoziativen und sequentiellen Arrays unterscheiden?

DDD
Freigeben: 2025-01-01 07:13:11
Original
278 Leute haben es durchsucht

How Can I Distinguish Between Associative and Sequential Arrays in PHP?

Bestimmung assoziativer und sequentieller Arrays in PHP

PHP verwaltet alle Arrays als assoziativ, weshalb alternative Methoden zur Unterscheidung zwischen assoziativen und sequenziellen Arrays erforderlich sind Arrays, insbesondere solche, die nur numerische Schlüssel enthalten, beginnend mit 0.

Lösung: Funktion array_is_list()

PHP 8.1 führt die Funktion array_is_list() ein und bietet eine einfache Lösung:

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
Nach dem Login kopieren

Benutzerdefinierte Funktion für Legacy-Code:

Wenn Sie mit Legacy-Code arbeiten, ist dies nicht der Fall Wenn Sie PHP 8.1 unterstützen, kann die folgende benutzerdefinierte Funktion verwendet werden:

function array_is_list(array $arr) {
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}
Nach dem Login kopieren

Diese Funktion erreicht die gleiche Funktionalität wie die Funktion array_is_list() und ist somit über verschiedene PHP-Versionen hinweg portierbar.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP zwischen assoziativen und sequentiellen Arrays unterscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage