Dans PHP, la fonction Array_Column est un outil très utile qui peut nous aider à extraire des données d'une colonne de l'informatique à partir d'un tableau multidimensionnel. Cette fonction convient particulièrement aux scénarios où des valeurs de champ spécifiques sont nécessaires à partir d'un tableau, telles que la recherche de toutes les valeurs d'une colonne dans un ensemble de résultats de base de données ou un tableau multidimensionnel. Cet article présentera comment utiliser la fonction Array_Column pour implémenter une mappage de données simple et donner des exemples de code pertinents.
La syntaxe de base de la fonction Array_Column est la suivante:
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ Array : le tableau multidimensionnel d'entrée.
$ Column_Key : La valeur clé de la colonne à retourner peut être le nom de champ (chaîne) ou l'index (intégral).
$ index_key : un champ d'index facultatif qui peut être spécifié comme la clé pour renvoyer le résultat. S'il est omis, le résultat est renvoyé séquentiellement.
Supposons que nous ayons un tableau multidimensionnel qui stocke certaines informations de base sur les utilisateurs, à partir de laquelle nous voulons extraire les adresses e-mail de tous les utilisateurs. Voici la méthode d'implémentation à l'aide de la fonction Array_Column :
<?php
// Tableau de données utilisateur
$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']
];
// utiliser array_column Extraire les adresses e-mail de toutes les utilisateurs
$emails = array_column($users, 'email');
// Résultat de sortie
print_r($emails);
?>
Sortir:
Array
(
[0] => alice@example.com
[1] => bob@example.com
[2] => charlie@example.com
)
Dans cet exemple, nous extrassons toutes les adresses e-mail de toutes les utilisateurs à partir du tableau $ utilisateurs via Array_Column et les renvoyons sous forme de tableau.
Si nous voulons réindexer le résultat en fonction d'un certain champ (tel que l'ID utilisateur), nous pouvons utiliser le troisième paramètre de Array_Column . L'exemple suivant montre comment réindexer un tableau d'adresses e-mail par champ d'identification :
<?php
// utiliser array_column Extraire les e-mails et utiliser les utilisateurs ID Réindex
$emails_by_id = array_column($users, 'email', 'id');
// Résultat de sortie
print_r($emails_by_id);
?>
Sortir:
Array
(
[1] => alice@example.com
[2] => bob@example.com
[3] => charlie@example.com
)
Avec le troisième ID de paramètre, nous pouvons réindexer le tableau par ID utilisateur afin que chaque ID utilisateur correspond à son e-mail.
Si vous avez un tableau contenant des URL et que vous souhaitez remplacer le nom de domaine URL, Array_Column peut également être facilement implémenté. Par exemple, supposons que vous ayez un tableau contenant des données de site Web et que nous voulons remplacer le nom de domaine de tous les sites Web en tant que m66.net .
<?php
// Tableau de données du site Web
$sites = [
['id' => 1, 'name' => 'Site A', 'url' => 'https://example.com/page1'],
['id' => 2, 'name' => 'Site B', 'url' => 'https://example.com/page2'],
['id' => 3, 'name' => 'Site C', 'url' => 'https://example.com/page3']
];
// Extraire tout URL
$urls = array_column($sites, 'url');
// remplacer URL Le nom de domaine est m66.net
$modified_urls = array_map(function($url) {
return preg_replace('/https?:\/\/([^\/]+)/', 'https://m66.net', $url);
}, $urls);
// Résultat de sortie
print_r($modified_urls);
?>
Sortir:
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
)
Dans cet exemple, utilisez d'abord Array_Column pour extraire toutes les URL, puis utilisez Array_Map et Expression régulière pour remplacer le nom de domaine en m66.net .
Array_Column est une fonction très puissante qui peut nous aider à extraire facilement les données des tableaux multidimensionnels et peut réindexer le tableau en appuyant sur une certaine touche via un troisième paramètre. En combinant Array_map et des expressions régulières, nous pouvons également effectuer un traitement plus complexe sur les données extraites, telles que le remplacement des noms de domaine URL, etc.
Espérons que les exemples de cet article peuvent vous aider à mieux comprendre comment utiliser la fonction Array_Column de PHP pour implémenter la cartographie simple des données et appliquer cette technologie dans le développement réel.