En PHP, les tableaux sont des structures de données très importantes et les tableaux associatifs sont une forme couramment utilisée dans le développement quotidien. Plusieurs fois, nous devons construire rapidement des tableaux associatifs selon certaines règles. Les deux fonctions de PHP array_fill_keys () et array_map () peuvent être utilisées très intelligemment pour nous aider à accomplir cette tâche efficacement.
array_fill_keys () est une fonction PHP très pratique qui génère un tableau associatif rempli de la même valeur basée sur la clé spécifiée. Sa définition est la suivante:
array array_fill_keys ( array $keys , mixed $value )
$ touches : tableau des noms de clés.
$ Value : Remplissez la valeur correspondante de chaque clé.
Par exemple, utilisez array_fill_keys () pour créer un tableau contenant plusieurs clés et remplir la même valeur:
$keys = ['a', 'b', 'c'];
$value = 0;
$result = array_fill_keys($keys, $value);
print_r($result);
Résultat de sortie:
Array
(
[a] => 0
[b] => 0
[c] => 0
)
array_map () est une autre fonction PHP très couramment utilisée qui applique une fonction de rappel à chaque élément d'un tableau et renvoie un nouveau tableau. Sa définition est la suivante:
array array_map ( callable $callback , array $array1 [, array $array2 [, array $... ]] )
$ rappel : la fonction de rappel qui effectue des opérations sur chaque élément du tableau.
$ array1 : Entrez un tableau, il peut y avoir plusieurs paramètres de tableau et la fonction de rappel agira à son tour sur ces tableaux.
Par exemple, nous pouvons traiter chaque valeur d'un tableau:
$numbers = [1, 2, 3, 4];
$squared = array_map(function($num) {
return $num * $num;
}, $numbers);
print_r($squared);
Résultat de sortie:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
)
Supposons que nous ayons un tableau contenant un ensemble de noms de clés et que nous souhaitions générer une valeur pour chaque clé, qui provient d'un autre tableau, et qu'un traitement est requis pour ces valeurs. En combinant array_fill_keys () et array_map () , nous pouvons accomplir cette tâche très efficacement.
Par exemple, supposons que nous ayons un tableau de plusieurs noms de produits, nous voulons fixer un prix initial pour chaque produit, et ces prix doivent être ajustés en fonction de certaines règles.
$keys = ['product1', 'product2', 'product3'];
$prices = [10, 20, 30];
// utiliserarray_fill_keysGénérer un prix initial pour chaque article
$initialPrices = array_fill_keys($keys, null);
// utiliserarray_mapAjuster les prix
$adjustedPrices = array_map(function($price) {
return $price * 1.2; // Par exemple, nous ajoutons20%Prix
}, $prices);
// 将调整后Prix与商品键关联
$finalPrices = array_combine($keys, $adjustedPrices);
print_r($finalPrices);
Résultat de sortie:
Array
(
[product1] => 12
[product2] => 24
[product3] => 36
)
Cette méthode combinée convient particulièrement aux scénarios où de grandes quantités de données sont nécessaires pour fonctionner par lots. Par exemple:
Obtenez le nom du produit de la base de données, générez le prix et appliquez la remise.
Générez des tableaux de configuration et traitez-les en fonction des paramètres entrés par un ensemble d'utilisateurs.
Cartez plusieurs ensembles de données et renvoyez un tableau associatif avec le même nom de clé.
Les avantages de cette approche sont:
Concis : Évitez la logique du code en double.
Flexible : array_map () peut ajuster de manière flexible les données via des fonctions de rappel personnalisées.
Efficacité : La combinaison de deux fonctions peut réduire efficacement la quantité de code et améliorer l'efficacité du développement.
Toutes les valeurs du tableau générées par array_fill_keys () seront initialisées à la même valeur. Si nous devons générer des valeurs selon différentes règles, nous pouvons envisager de les utiliser en combinaison avec array_map () .
La fonction Array_Combine () est utilisée pour combiner deux tableaux dans un tableau associatif, qui est utilisé pour associer le prix ajusté au nom du produit.
En combinant array_fill_keys () et array_map () , nous sommes en mesure de gérer la construction et la modification des tableaux associatifs très concis et efficacement. Qu'il s'agisse de traitement des données ou de génération par lots de tableaux de structures spécifiques, la combinaison de ces deux fonctions peut simplifier considérablement le code.