Position actuelle: Accueil> Derniers articles> Différences de prise en charge de Array_Column en version PHP

Différences de prise en charge de Array_Column en version PHP

M66 2025-04-28

Array_Column est une fonction très utile introduite dans PHP 5.5.0. Il peut extraire la valeur d'une colonne à partir d'un tableau multidimensionnel. Lors du traitement des données à grande échelle, Array_Column offre aux développeurs un moyen très pratique de fonctionner. Cependant, il existe certaines différences dans le support de cette fonction par différentes versions PHP, et la compréhension de ces différences est très importante pour les développeurs de mettre à niveau les versions PHP ou de développer des applications dans différentes versions d'environnements PHP. Cet article introduira en détail les différences dans la prise en charge de la fonction Array_Column dans différentes versions PHP et donnera des suggestions sur la façon de choisir des méthodes applicables basées sur la version.

1. Utilisation de base de la fonction Array_Column

Tout d'abord, passons en revue l'utilisation de base de la fonction Array_Column . Dans PHP 5.5.0 et ultérieurement, Array_Column peut être utilisé pour extraire les données d'une colonne d'un tableau multidimensionnel. Sa syntaxe de base est la suivante:

 array_column(array $input, mixed $column_key, mixed $index_key = null): array
  • $ Entrée : le tableau d'entrée sur lequel fonctionner.

  • $ Column_Key : Le nom de clé de la colonne à extraire (peut être une chaîne ou un entier).

  • $ index_key : paramètre facultatif, si défini, le tableau résultant utilisera cette valeur de clé comme index.

Exemple:

 $data = [
    ['id' => 1, 'name' => 'John', 'age' => 23],
    ['id' => 2, 'name' => 'Jane', 'age' => 21],
    ['id' => 3, 'name' => 'Doe', 'age' => 25],
];

$names = array_column($data, 'name'); // extrait 'name' Liste
print_r($names);

Sortir:

 Array
(
    [0] => John
    [1] => Jane
    [2] => Doe
)

2. Différentes versions PHP prennent en charge la fonction Array_Column

Bien que Array_Column ait été introduit dans PHP 5.5.0, il existe encore des différences entre différentes versions PHP, en particulier lors du traitement des types de données spécifiques.

2.1 PHP 5.5.x

PHP 5.5.x est la première version introduite par la fonction Array_Column , donc cette version prend en charge les fonctions relativement basiques. Il peut traiter normalement des tableaux multidimensionnels ordinaires et extraire les colonnes spécifiées.

  • Prise en charge : extraire les colonnes spécifiées des tableaux multidimensionnels.

  • Limites : les paires de valeurs de clé complexes ne sont pas prises en charge, telles que les clés du tableau étant des objets ou des types spéciaux, qui peuvent ne pas fonctionner correctement.

2.2 PHP 5.6.x

PHP 5.6.x n'a pas beaucoup d'amélioration sur Array_Column , mais il corrige certains bogues dans PHP 5.5.x, ce qui le rend plus stable lorsqu'il s'agit de tableaux multidimensionnels.

  • Support : Identique à PHP 5.5.x.

  • Amélioration : certains cas de pointe ont été traités sur des problèmes de stabilité.

2.3 PHP 7.x

PHP 7.x a fait beaucoup d'optimisations en termes de performances et a apporté certaines améliorations à la fonction Array_Column . Surtout lors du traitement des données à grande échelle, les performances ont été considérablement améliorées.

  • Prise en charge : Identique à PHP 5.5 / 5.6, il prend en charge l'extraction de colonnes dans des tableaux multidimensionnels.

  • Amélioration : performances améliorées, utilisation optimisée de la mémoire et plus efficace lors de la gestion de grands tableaux.

2,4 PHP 8.x

Dans PHP 8.0, la fonction Array_Column a été considérablement améliorée. Surtout lorsqu'il s'agit de valeurs et d'objets NULL en tant que données de colonne, PHP 8.x améliore la prise en charge des types de données spéciaux.

  • Prise en charge : Prise en charge de plus de types de données, tels que des objets, NULL , etc.

  • Amélioration : PHP 8 introduit une meilleure compatibilité pour la gestion des colonnes contenant des valeurs nulles .

  • Changement : PHP 8.0 introduit la prise en charge des clés nuls , permettant à Null comme les valeurs de $ Column_Key et $ index_key .

2,5 PHP 8.1 / 8.2

Dans PHP 8.1 et PHP 8.2, les performances et la compatibilité de Array_Column sont encore améliorées et les problèmes de bord sont résolus pour certains cas extrêmes. De plus, PHP 8.1 introduit la prise en charge des types d'énumération, ce qui permet à Array_Column de mieux fonctionner lors du traitement des tableaux contenant des énumérations.

  • Support : Conformément à PHP 8.0, d'autres types de données sont pris en charge.

  • Améliorations : support amélioré pour les types d'énumération, augmentant la compatibilité des types extrêmes.

3. Comment choisir l'utilisation appropriée selon la version?

Selon la version de PHP, il est important de choisir l'utilisation appropriée de Array_Column . Voici quelques suggestions de choix d'utilisation en fonction de la version:

  1. Si vous utilisez PHP 5.5.x à PHP 5.6.x , vous devez noter que la fonction de Array_Column est relativement basique. Lorsque vous traitez des données complexes telles que des objets ou des colonnes contenant des valeurs nulles , il est recommandé de remplacer Array_Column en traitant manuellement le tableau pour éviter les problèmes d'incompatibilité.

  2. Si vous utilisez PHP 7.x , vous pouvez utiliser Array_Column en toute confiance, surtout lorsque vous devez faire face à des tableaux à grande échelle. Il fonctionne mieux dans les performances, mais a toujours besoin d'attention à la gestion des types de données spéciaux.

  3. Si vous utilisez PHP 8.x ou version ultérieure , vous pouvez profiter de la pleine fonctionnalité de Array_Column . En particulier pour les tableaux contenant des types de données complexes tels que des objets, NULL ou des énumérations, PHP 8.x offre une meilleure compatibilité et performances.

  4. Lors du traitement des données complexes , il est recommandé d'utiliser Array_Column dans PHP 8.x et supérieur pour mieux gérer les valeurs nuls , les objets ou d'autres types de données spéciaux.

4. Exemple: Utilisez Array_Column dans différentes versions PHP

Exemple dans PHP 7.x:

 $data = [
    ['id' => 1, 'name' => 'John', 'age' => 23],
    ['id' => 2, 'name' => 'Jane', 'age' => 21],
    ['id' => 3, 'name' => 'Doe', 'age' => 25],
];

$ages = array_column($data, 'age'); // extrait 'age' Liste
print_r($ages);

Exemple dans PHP 8.x:

 $data = [
    ['id' => 1, 'name' => 'John', 'age' => null],
    ['id' => 2, 'name' => 'Jane', 'age' => 21],
    ['id' => 3, 'name' => 'Doe', 'age' => 25],
];

$ages = array_column($data, 'age'); // extrait 'age' Liste
print_r($ages);

Dans PHP 8.x, lors du traitement des colonnes contenant des valeurs nulles , Array_Column pourra conserver correctement les valeurs nulles , qui peuvent être perdues dans les versions inférieures de PHP.


Résumer

Array_Column est une fonction très pratique qui peut extraire les données d'une colonne d'un tableau multidimensionnel. Différentes versions PHP ont des différences de prise en charge de la fonction Array_Column , en particulier lorsqu'ils traitent des types de données complexes et des données à grande échelle. Selon les caractéristiques des différentes versions PHP, le choix de l'utilisation appropriée peut vous aider à éviter les problèmes de compatibilité potentiels et à améliorer la stabilité et les performances du code.