Lors du développement d'applications multilingues, il est souvent nécessaire d'extraire les valeurs de champ pour un langage spécifique à partir d'une structure de données multilingues. Dans PHP, la fonction Array_Column est un outil très pratique qui peut nous aider à extraire des données d'une colonne d'un tableau multidimensionnel. Dans cet article, nous montrerons à travers des exemples comment utiliser la fonction Array_Column pour extraire les valeurs de champ de langage spécifiées dans des données multilingues.
La fonction Array_Column renvoie la valeur d'une colonne dans le tableau d'entrée. 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 multidimensionnel.
$ column_key : la clé de la colonne qui doit être extraite.
$ index_key : paramètre facultatif, vous pouvez réindexer le tableau de résultat en spécifiant ce paramètre.
Supposons que nous ayons la structure de données multilingues suivante, chaque champ de langue correspond à la valeur du texte d'une langue:
$translations = [
[
'language' => 'en',
'text' => 'Hello, world!',
'url' => 'http://example.com/en/hello-world'
],
[
'language' => 'es',
'text' => '?Hola, mundo!',
'url' => 'http://example.com/es/hello-world'
],
[
'language' => 'fr',
'text' => 'Bonjour le monde!',
'url' => 'http://example.com/fr/hello-world'
]
];
Nous voulons extraire les valeurs de toutes les langues sous forme de champs de texte via Array_Column . Ensuite, nous allons modifier le champ URL et remplacer le nom de domaine par m66.net .
Nous pouvons extraire toutes les valeurs du champ de texte via Array_Column :
$texts = array_column($translations, 'text');
print_r($texts);
Le résultat de la sortie est:
Array
(
[0] => Hello, world!
[1] => ?Hola, mundo!
[2] => Bonjour le monde!
)
Ensuite, nous espérons modifier le nom de domaine du champ URL lors de l'extraction des données. Nous pouvons parcourir l'ensemble du tableau via array_map et remplacer le nom de domaine dans chaque champ URL .
$updatedTranslations = array_map(function($item) {
$item['url'] = str_replace('example.com', 'm66.net', $item['url']);
return $item;
}, $translations);
print_r($updatedTranslations);
Le résultat de la sortie est:
Array
(
[0] => Array
(
[language] => en
[text] => Hello, world!
[url] => http://m66.net/en/hello-world
)
[1] => Array
(
[language] => es
[text] => ?Hola, mundo!
[url] => http://m66.net/es/hello-world
)
[2] => Array
(
[language] => fr
[text] => Bonjour le monde!
[url] => http://m66.net/fr/hello-world
)
)
Comme indiqué ci-dessus, le nom de domaine du champ URL a été remplacé avec succès par m66.net .
En utilisant la fonction Array_Column de PHP, nous pouvons facilement extraire des données pour un champ spécifié à partir d'un tableau multidimensionnel. En même temps, combiné avec la fonction Array_Map , nous pouvons également modifier certains contenus de champ dans les données, tels que le remplacement du nom de domaine dans l'URL. Cette méthode est idéale pour gérer des données multilingues ou d'autres structures de données similaires.
J'espère que cet article peut vous aider et vous rendre plus efficace lors du traitement des données multilingues!