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

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

Mary-Kate Olsen
Libérer: 2024-12-09 04:25:11
original
616 Les gens l'ont consulté

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

Détermination de la nature des tableaux PHP : associatifs ou séquentiels

En PHP, les tableaux sont intrinsèquement associatifs, dépourvus de mécanismes intégrés pour différencier les clés numériques à partir de 0 ( tableaux séquentiels) et des clés de chaîne arbitraires (tableaux associatifs). Cette distinction peut être cruciale pour divers scénarios de programmation.

Discerner les tableaux séquentiels et associatifs

Pour déterminer si un tableau est séquentiel, vous pouvez exploiter la nouvelle fonction array_is_list() dans PHP 8.1. Cependant, pour les anciennes versions de PHP, une fonction personnalisée peut constituer une alternative pratique :

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 vérifie si le tableau est vide ou si ses clés sont une séquence continue de nombres commençant à 0. Si les deux conditions sont remplies, le tableau est considéré comme séquentiel.

Exemple d'utilisation

Pour illustrer la fonctionnalité de array_is_list() fonction :

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

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal