Maison > développement back-end > tutoriel php > Comment puis-je distinguer les tableaux associatifs et séquentiels en PHP ?

Comment puis-je distinguer les tableaux associatifs et séquentiels en PHP ?

DDD
Libérer: 2025-01-01 07:13:11
original
278 Les gens l'ont consulté

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

Détermination des tableaux associatifs et séquentiels en PHP

PHP maintient tous les tableaux comme associatifs, ce qui nécessite des méthodes alternatives pour faire la distinction entre associatif et séquentiel tableaux, en particulier ceux contenant uniquement des touches numériques commençant par 0.

Solution : fonction array_is_list()

PHP 8.1 introduit la fonction array_is_list(), fournissant une solution simple :

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
Copier après la connexion

Fonction personnalisée pour le code hérité :

Si vous travaillez avec du code hérité qui ne fonctionne pas prend en charge PHP 8.1, la fonction personnalisée suivante peut être utilisée :

function array_is_list(array $arr) {
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}
Copier après la connexion

Cette fonction atteint les mêmes fonctionnalités que la fonction array_is_list(), la rendant portable sur différentes versions de PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal