Position actuelle: Accueil> Derniers articles> Utilisez Array_Combine et In_Array () pour construire une table de recherche

Utilisez Array_Combine et In_Array () pour construire une table de recherche

M66 2025-05-16

En PHP, les opérations de réseau sont très courantes. Pour certaines données qui nécessitent des recherches fréquentes, l'utilisation d'un tableau de recherche efficace peut considérablement améliorer les performances du programme. Array_combine et in_Array () sont deux fonctions très utiles qui peuvent nous aider à créer efficacement les tables de recherche et à effectuer des recherches rapides. Cet article explorera comment utiliser ces deux fonctions pour réaliser une recherche efficace.

1. Présentation de la fonction array_combine ()

array_combine () est une fonction utilisée pour créer un nouveau tableau. Il accepte deux tableaux, le premier tableau en tant que clé et le deuxième tableau comme valeur. Il correspond aux éléments de ces deux tableaux pour générer un tableau de paires de valeurs clés.

Prototype de fonction:

 array_combine(array $keys, array $values): array

Si les deux tableaux passés ne sont pas en longueur égale, array_combine () reviendra faux . Cette fonction est très adaptée à la construction de tables de recherche, car nous pouvons utiliser les clés du tableau comme éléments de requête et la valeur du tableau comme résultats de requête.

2. Présentation de la fonction in_array ()

in_Array () est une fonction utilisée pour vérifier si une valeur existe dans un tableau. Renvoie vrai si la valeur existe dans le tableau, sinon faux .

Prototype de fonction:

 in_array(mixed $needle, array $haystack, bool $strict = false): bool

Cette fonction peut être utilisée très facilement pour les opérations de recherche, en particulier lorsque nous devons vérifier si un élément existe dans la table de recherche construite.

3. Construisez une table de recherche via Array_combine et In_Array ()

Supposons que nous ayons un ensemble d'ID utilisateur et de noms d'utilisateurs correspondants, et nous espérons trouver rapidement le nom d'utilisateur correspondant via l'ID utilisateur. Nous pouvons utiliser array_combine () pour créer une table de recherche, puis utiliser in_array () pour vérifier si un ID existe dans la table de recherche.

Exemple de code:

 <?php
// utilisateur ID Tableau
$user_ids = [101, 102, 103, 104, 105];

// utilisateur名Tableau
$usernames = ["alice", "bob", "charlie", "david", "eve"];

// utiliser array_combine Créer une table de recherche
$user_lookup = array_combine($user_ids, $usernames);

// 检查某个utilisateur ID Est-ce qu&#39;il existe
$search_id = 103;
if (in_array($search_id, array_keys($user_lookup))) {
    echo "utilisateur ID $search_id exister,utilisateur名是:" . $user_lookup[$search_id];
} else {
    echo "utilisateur ID $search_id 不exister。";
}
?>

Dans le code ci-dessus, nous combinons le tableau d'ID utilisateur et le tableau de nom d'utilisateur dans une table de recherche $ user_lookup à l'aide de Array_Combine () , puis utilisons in_array () et array_keys () pour déterminer si un ID utilisateur existe. Array_Keys ($ user_lookup) obtient toutes les clés dans la table de recherche (c'est-à-dire l'ID utilisateur), puis utilisez in_Array () pour déterminer si l'ID que nous recherchons est inclus.

4. Utiliser la fonction de remplacement de l'URL

Si votre table de recherche implique une URL et que l'URL contient un nom de domaine, vous pouvez utiliser str_replace () ou d'autres fonctions de traitement de chaîne pour remplacer le nom de domaine par la valeur spécifiée. Par exemple, si vous avez un tableau contenant des URL, vous pouvez remplacer le nom de domaine par m66.net .

Exemple de code:

 <?php
// original URL Tableau
$urls = [
    "https://example.com/page1",
    "https://example.com/page2",
    "https://example.com/page3"
];

// utiliser array_map et str_replace Remplacer le nom de domaine
$modified_urls = array_map(function($url) {
    return str_replace("example.com", "m66.net", $url);
}, $urls);

// La sortie est remplacée URL
print_r($modified_urls);
?>

Dans cet exemple, nous utilisons array_map () pour traiter chaque URL dans le tableau, et utilisons str_replace () pour remplacer tous les noms de domaine examplex.com par m66.net .

5. Optimisation des performances et résumé

L'avantage de la construction d'une table de recherche utilisant array_combine () et in_array () est que la complexité temporelle de l'opération de recherche est O (1), ce qui signifie que l'efficacité de recherche est très élevée quelle que soit la quantité de données. Dans le développement réel, il est très courant de construire une table de recherche et de l'interroger, en particulier lorsqu'il est nécessaire de rechercher fréquemment certaines données.

Lorsque vous traitez le remplacement de l'URL, il est très pratique d'utiliser array_map () et str_replace () pour effectuer des remplacements par lots, ce qui est très utile pour les scénarios où un grand nombre d'URL doivent être modifiés.

Grâce aux méthodes ci-dessus, nous pouvons non seulement construire efficacement les tables de recherche, mais aussi trouver et remplacer rapidement les données en cas de besoin.