Maison  >  Article  >  développement back-end  >  Comment déterminer si un caractère existe dans un tableau en php

Comment déterminer si un caractère existe dans un tableau en php

PHPz
PHPzoriginal
2023-04-20 15:01:46465parcourir

PHP, en tant que langage de script côté serveur, implémente plusieurs fonctions telles que le traitement des formulaires, la gestion des fichiers et la génération de pages dynamiques. Parmi ces fonctions, le traitement des caractères est très courant. Cet article explique principalement comment déterminer si des caractères existent dans un tableau en PHP et comment améliorer l'efficacité du traitement des données à grande échelle.

  1. Connaissance de base de PHP

En PHP, un tableau est une variable qui peut stocker plusieurs valeurs. Ces valeurs peuvent être numériques, chaîne, entières, à virgule flottante et autres. Dans un tableau associatif, chaque élément est indexé par une clé unique. Si vous souhaitez déterminer si un caractère existe dans un tableau en PHP, nous devons utiliser la fonction in_array(). La fonction

in_array() reçoit deux paramètres Le premier paramètre est la valeur à trouver et le deuxième paramètre est le tableau à trouver. Lorsque la fonction renvoie vrai, cela signifie que la valeur que vous recherchez existe dans le tableau, et lorsqu'elle renvoie faux, cela signifie qu'elle n'existe pas.

Exemple de code :

$my_array = array("php", "python", "java", "ruby");
if (in_array("php", $my_array)) {
    echo "数组中存在php";
} else {
    echo "数组中不存在php";
}

Résultat d'exécution :

数组中存在php
  1. Il y a un problème

La fonction in_array() est une fonction très pratique pour déterminer si un élément spécifié existe dans un tableau, mais si vous devez rechercher dans un un réseau à grande échelle peut prendre beaucoup de temps. Pour effectuer une recherche de couverture, la complexité temporelle de l’algorithme devient très élevée.

Afin d'améliorer l'efficacité de la recherche, nous devons utiliser des algorithmes de recherche plus efficaces dans le traitement des données à grande échelle. Les plus couramment utilisés incluent la recherche par hachage et la recherche binaire.

  1. Recherche de hachage

La recherche de hachage réduit la complexité temporelle de la recherche en convertissant la valeur clé du tableau en un index entier à l'aide d'une fonction de hachage. Les fonctions de hachage peuvent déterminer rapidement la position d'un tableau de grandes dimensions, réduisant ainsi le nombre de recherches inutiles. Par conséquent, l’algorithme de recherche de hachage présente l’avantage d’une faible complexité temporelle.

Les algorithmes de recherche de hachage suivants sont couramment utilisés.

/**
 * 哈希查找
 * @param array $arr
 * @param string $item
 * @return bool
 */
function search(array $arr, string $item): bool
{
    $hashmap = [];
    foreach ($arr as $value) {
        $hashmap[$value] = true;
    }
    return isset($hashmap[$item]);
}
  1. Recherche binaire

L'algorithme de recherche binaire est un algorithme de recherche efficace. Il repose sur la condition que le tableau ait été trié et exclut rapidement une grande partie des données, améliorant ainsi l'efficacité de la recherche dans le traitement des données à grande échelle. La recherche binaire est plus efficace que la recherche par hachage lors du traitement de données à grande échelle.

Ce qui suit est un algorithme de recherche binaire couramment utilisé.

/**
 * 二分查找
 * @param array $arr
 * @param int $n
 * @param string $value
 * @return mixed
 */
function binarySearch(array $arr, int $n, string $value)
{
    $low = 0;
    $high = $n - 1;
    while ($low <= $high) {
        $mid = intval(($low + $high) / 2);
        if ($arr[$mid] == $value) {
            return true;
        } elseif ($arr[$mid] < $value) {
            $low = $mid + 1;
        } else {
            $high = $mid - 1;
        }
    }
    return false;
}
  1. Résumé

Cet article explique comment déterminer si un caractère existe dans un tableau en PHP et comment améliorer l'efficacité du traitement des données à grande échelle. Choisissez simplement l'algorithme approprié en fonction de la situation réelle. Qu'il s'agisse d'une recherche de hachage ou d'une recherche binaire, cela peut nous aider à résoudre des problèmes de recherche de données à grande échelle et à améliorer l'efficacité opérationnelle du programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn