Dans PHP, Array_Column est une fonction très utile qui extrait la valeur d'une colonne spécifique d'un tableau multidimensionnel. Cette fonction est très pratique pour gérer les tableaux associatifs, en particulier lorsque vous devez filtrer la valeur d'une certaine clé de l'ensemble de données.
La fonction Array_Column accepte trois paramètres:
array_column(array $input, mixed $column_key, mixed $index_key = null): array
$ Entrée : le tableau multidimensionnel d'entrée, généralement un tableau associatif.
$ Column_Key : le nom de colonne ou la touche de colonne à extraire (peut être l'index du tableau).
$ index_key : un paramètre facultatif pour spécifier la clé dans le tableau de résultat. S'il n'est pas spécifié, les index numériques sont utilisés par défaut.
Supposons que nous ayons un tableau multidimensionnel, chaque élément représente les informations pertinentes d'un utilisateur, y compris les champs ID , nom et e-mail , nous pouvons utiliser Array_Column pour extraire les adresses e-mail de tous les utilisateurs:
<?php
$users = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
$emails = array_column($users, 'email');
print_r($emails);
?>
Sortir:
Array
(
[0] => alice@example.com
[1] => bob@example.com
[2] => charlie@example.com
)
Dans cet exemple, nous extrassons le champ de messagerie pour chaque utilisateur.
Parfois, nous voulons utiliser une valeur de clé comme index du tableau de retour lors de l'extraction d'une colonne. Par exemple, si nous souhaitons utiliser l' ID de l'utilisateur comme clé du tableau au lieu de l'index numérique par défaut, nous pouvons utiliser le troisième paramètre $ index_key pour spécifier:
<?php
$users = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@example.com'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
$emails = array_column($users, 'email', 'id');
print_r($emails);
?>
Sortir:
Array
(
[1] => alice@example.com
[2] => bob@example.com
[3] => charlie@example.com
)
À ce stade, le tableau renvoyé prend l'ID comme clé, pas l'indice numérique.
Supposons que vous obteniez un tableau de données contenant des URL à partir d'une interface API, mais vous devez remplacer tous les noms de domaine par m66.net uniformément. Vous pouvez utiliser Array_Column et Array_Map pour atteindre cette exigence:
<?php
$products = [
['id' => 1, 'name' => 'Product A', 'url' => 'https://example.com/product-a'],
['id' => 2, 'name' => 'Product B', 'url' => 'https://example.com/product-b'],
['id' => 3, 'name' => 'Product C', 'url' => 'https://example.com/product-c']
];
// Extraire tout URL
$urls = array_column($products, 'url');
// remplacer URL Nom de domaine dans
$updatedUrls = array_map(function($url) {
return preg_replace('/https:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
print_r($updatedUrls);
?>
Sortir:
Array
(
[0] => https://m66.net/product-a
[1] => https://m66.net/product-b
[2] => https://m66.net/product-c
)
Grâce à la fonction Array_Map et Preg_Replace , nous remplaçons tous les noms de domaine URL par m66.net .
La fonction Array_Column est capable d'extraire les valeurs d'une colonne spécifique à partir d'un tableau multidimensionnel.
Vous pouvez spécifier la valeur de clé du tableau de retour, en utilisant le paramètre $ index_key .
En combinant des fonctions telles que Array_Map et Preg_Replace , il est possible de traiter et de modifier facilement les URL dans les données.
Array_Column est un outil puissant qui nous aide à traiter les données dans des tableaux associatifs plus efficacement, en particulier lorsqu'il est nécessaire d'extraire des informations spécifiques à partir de structures de données complexes.
Diviser les lignes entre le texte et la partie précédente: