En PHP, nous devons souvent construire des tableaux multidimensionnels complexes. Grâce aux fonctions intégrées array_fill () et array_merge () de PHP, nous pouvons effectuer cette tâche efficacement. Aujourd'hui, nous explorerons comment utiliser ces deux fonctions pour construire rapidement des tableaux multidimensionnels complexes.
La fonction Array_Fill () est utilisée pour créer un tableau et remplir chaque élément avec la valeur spécifiée. Cette fonction est très adaptée pour construire des tableaux avec les mêmes valeurs. Sa syntaxe de base est la suivante:
array_fill($start_index, $num, $value);
$ start_index : spécifie l'indice de démarrage du tableau de remplissage.
$ num : spécifie le nombre d'éléments dans le tableau.
$ Value : la valeur pour remplir le tableau.
Par exemple, le code suivant crée un tableau de longueur 5, chaque élément ayant une valeur de "php" :
$filled_array = array_fill(0, 5, 'PHP');
print_r($filled_array);
Sortir:
Array
(
[0] => PHP
[1] => PHP
[2] => PHP
[3] => PHP
[4] => PHP
)
La fonction Array_merge () est utilisée pour combiner un ou plusieurs tableaux dans un tableau. Il ajoute tous les éléments du tableau à un nouveau tableau, renvoyant un nouveau tableau contenant tous les éléments. La syntaxe de base est la suivante:
array_merge($array1, $array2, ...);
$ array1, $ array2, ... : un ou plusieurs tableaux à fusionner.
L'exemple de code suivant montre comment fusionner deux tableaux à l'aide d' Array_merge () :
$array1 = [1, 2];
$array2 = [3, 4];
$merged_array = array_merge($array1, $array2);
print_r($merged_array);
Sortir:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
Les tableaux créés par array_fill () peuvent être utilisés comme entrée sur array_merge () pour créer un tableau multidimensionnel plus complexe. Voici un exemple concret: Supposons que nous devons créer un tableau multidimensionnel contenant plusieurs ensembles des mêmes données, où chaque ensemble de données a la même structure, mais le contenu est légèrement différent.
Nous utilisons array_fill () pour initialiser les valeurs par défaut pour chaque sous-réseau, puis utilisons array_merge () pour les fusionner pour enfin créer un tableau multidimensionnel complexe.
<?php
// utiliser array_fill Créer plusieurs sous-réseaux de la même structure
$defaultValues = array_fill(0, 3, 'default'); // Créer un conteneur 3 autonome 'default' Tableau de
// Créer des données différentes
$group1 = array_merge(['group' => 'group1'], $defaultValues);
$group2 = array_merge(['group' => 'group2'], $defaultValues);
$group3 = array_merge(['group' => 'group3'], $defaultValues);
// 合并成一autonome多维数组
$complexArray = [$group1, $group2, $group3];
print_r($complexArray);
?>
Sortir:
Array
(
[0] => Array
(
[group] => group1
[0] => default
[1] => default
[2] => default
)
[1] => Array
(
[group] => group2
[0] => default
[1] => default
[2] => default
)
[2] => Array
(
[group] => group3
[0] => default
[1] => default
[2] => default
)
)
Dans cet exemple, array_fill () est utilisé pour remplir chaque groupe avec la même valeur par défaut, array_merge () est utilisé pour fusionner les données dans le tableau multidimensionnel final. Nous ajoutons également un identifiant différent pour chaque groupe Group1 , Group2 , Group3 , afin que chaque sous-réseau ait une identité unique.
Supposons que nous voulons construire un tableau avec plusieurs URL et remplacer tous les noms de domaine par m66.net . Nous pouvons d'abord utiliser array_fill () pour créer un tableau contenant plusieurs URL par défaut, puis traiter chaque URL via array_map () pour remplacer la pièce de nom de domaine.
<?php
// Créer un conteneur多autonome URL Tableau de
$urls = array_fill(0, 3, 'http://example.com/path/to/resource');
// utiliser array_map Remplacer tout URL Le nom de domaine est m66.net
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'http://m66.net', $url);
}, $urls);
print_r($updatedUrls);
?>
Sortir: