Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich zuverlässig feststellen, ob ein PHP-Array eine sequentielle Liste ist?

Wie kann ich zuverlässig feststellen, ob ein PHP-Array eine sequentielle Liste ist?

Linda Hamilton
Freigeben: 2024-12-20 12:14:09
Original
596 Leute haben es durchsucht

How Can I Reliably Determine if a PHP Array is a Sequential List?

Unterscheidung assoziativer und sequenzieller PHP-Arrays

PHP erkennt von Natur aus alle Arrays als assoziativ, was es schwierig macht, zwischen Arrays zu unterscheiden, die sich wie Listen verhalten. Um dieses Problem zu lösen, untersuchen wir eine zuverlässige Methode, um festzustellen, ob ein Array als Liste qualifiziert ist.

Liste vs. assoziative Arrays

  • Liste ( Sequentielles Array): Enthält nur numerische Tasten beginnend bei 0 und bildet eine Sequenz.
$sequentialArray = [
    'apple', 'orange', 'tomato', 'carrot'
];
Nach dem Login kopieren
  • Assoziatives Array: Besteht sowohl aus Zeichenfolgen als auch aus numerischen Tasten und ermöglicht so eine vielseitigere Datenorganisation.
$assocArray = [
    'fruit1' => 'apple',
    'fruit2' => 'orange',
    'veg1' => 'tomato',
    'veg2' => 'carrot'
];
Nach dem Login kopieren

Identifizieren von Listen in PHP 8.1 und Darüber hinaus

PHP 8.1 führte array_is_list() ein, um bequem zu prüfen, ob ein Array eine Liste ist:

array_is_list($sequentialArray); // true
Nach dem Login kopieren

Legacy-Lösung für frühere PHP-Versionen

Um PHP-Versionen vor 8.1 gerecht zu werden, können wir eine benutzerdefinierte Version definieren Funktion:

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

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

Durch die Nutzung dieser Methoden können Entwickler effektiv zwischen assoziativen und sequentiellen Arrays unterscheiden und so ein präziseres und effizienteres Array ermöglichen Handhabung in ihren PHP-Anwendungen.

Das obige ist der detaillierte Inhalt vonWie kann ich zuverlässig feststellen, ob ein PHP-Array eine sequentielle Liste ist?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage