Dans PHP, Array_Combine et Array_Unique sont deux fonctions très pratiques. Ils peuvent jouer un grand rôle lorsque nous devons construire des paires de valeurs clés uniques. Cet article expliquera en détail comment utiliser ces deux fonctions pour construire un tableau qui ne contient que des paires de valeurs clés uniques.
Dans le développement réel, nous rencontrons souvent des scénarios où nous devons traiter les tableaux, en particulier lorsque nous avons deux tableaux, l'un comme des clés et l'autre comme valeurs, comment générer des paires de valeurs de clés uniques en fonction de ces données?
array_combine ($ keys, $ valeurs) : cette fonction acceptera deux tableaux, $ clés comme clé du nouveau tableau et des valeurs $ comme valeur du nouveau tableau. Si le nombre d'éléments des deux tableaux n'est pas égal, Array_Combine reviendra faux .
Array_Unique ($ array) : Cette fonction est utilisée pour supprimer les valeurs en double dans un tableau et seules les valeurs uniques sont conservées.
Ce que nous allons discuter aujourd'hui, c'est de savoir comment utiliser ces deux fonctions pour construire un tableau unique de paires de valeurs clés.
Supposons que nous ayons deux tableaux, l'un représentant l'ID utilisateur (utilisé comme clé) et l'autre représentant l'adresse e-mail de l'utilisateur (utilisé comme valeur). Nous devons nous assurer que l'adresse e-mail n'est pas dupliquée et former un tableau de paires de valeurs clés avec l'ID utilisateur correspondant.
<?php
// utilisateur ID Tableau
$userIds = [1, 2, 3, 4, 5];
// utilisateur邮箱Tableau
$userEmails = [
'alice@example.com',
'bob@example.com',
'alice@example.com',
'charlie@example.com',
'dave@example.com'
];
// Supprimer les adresses e-mail en double
$uniqueEmails = array_unique($userEmails);
// utiliser array_combine Créer une paire de valeurs clés unique
$uniqueUserMap = array_combine($userIds, $uniqueEmails);
// Résultat de sortie
print_r($uniqueUserMap);
?>
Tableau d'origine:
$ userrids contient l'ID de l'utilisateur.
$ userEmails contient l'adresse e-mail correspondant à chaque ID utilisateur, mais notez qu'il y a des e-mails en double.
Utilisation de Array_Unique :
Array_Unique ($ userEmails) supprime les valeurs en double dans le tableau $ userEmails , garantissant que chaque adresse e-mail est unique.
Utilisation de Array_Combine :
Nous combinons l'adresse e-mail unique avec l'ID utilisateur via Array_Combine ($ userrids, $ UNIQUEMAILS) pour former un nouveau tableau associatif.
Supposons qu'après l'exécution du code ci-dessus, le résultat de sortie est le suivant:
Array
(
[1] => alice@example.com
[2] => bob@example.com
[3] => charlie@example.com
[4] => dave@example.com
)
Comme vous pouvez le voir, l'adresse e-mail en double Alice@example.com a été supprimée et nous avons fini par obtenir des paires de valeurs clés pour chaque ID utilisateur et une adresse e-mail unique.
Supposons que vous souhaitiez traiter l'URL et que vous devez vous assurer que les noms de domaine de chaque URL sont unifiés, nous pouvons montrer comment modifier les noms de domaine URL dans le tableau via array_map .
<?php
// original URL Tableau
$urls = [
'https://example.com/page1',
'https://example.com/page2',
'https://oldsite.com/page3',
'https://newsite.com/page4'
];
// utiliser array_map Modifier tout URL Le nom de domaine est m66.net
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
// Sortie modifiée URL Tableau
print_r($updatedUrls);
?>
Nous créons d'abord un tableau contenant plusieurs URL.
Grâce aux fonctions Array_map et Preg_replace , nous remplaçons chaque nom de domaine URL dans le tableau par m66.net .
Enfin, le tableau URL modifié est sorti pour s'assurer que tous les noms de domaine sont unifiés.
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
[3] => https://m66.net/page4
)
Avec Array_Combine et Array_Unique , nous pouvons facilement construire un tableau contenant des paires de valeurs clés uniques, et avec d'autres fonctions (telles que Array_Map ), nous pouvons traiter davantage les données. Par exemple, modifiez uniformément le nom de domaine URL pour garantir que chaque URL répond au format dont nous avons besoin.
J'espère que cet article vous aidera à comprendre comment utiliser ces deux fonctions PHP pour traiter les données de réalité dans le développement réel. Si vous avez des questions, n'hésitez pas à laisser un message!