Maison  >  Article  >  développement back-end  >  La chaîne php est-elle dans le tableau ?

La chaîne php est-elle dans le tableau ?

WBOY
WBOYoriginal
2023-05-19 14:56:381062parcourir

PHP est un langage de programmation côté serveur. Il possède une bibliothèque de fonctions très riche et des fonctions intégrées, y compris de nombreuses fonctions liées aux chaînes et aux tableaux. En PHP, utiliser des tableaux pour le stockage et le traitement des données est une opération très courante, et déterminer si une chaîne spécifiée existe dans un tableau est également une exigence courante.

Il existe de nombreuses façons de déterminer si une chaîne existe dans un tableau. Nous pouvons utiliser une boucle pour parcourir le tableau, ou nous pouvons utiliser les fonctions intégrées de PHP pour déterminer ci-dessous, nous présenterons en détail plusieurs méthodes pour déterminer si une chaîne existe. la chaîne est dans un tableau.

Méthode 1 : utilisez la fonction in_array() pour déterminer

PHP fournit la fonction in_array(), qui peut déterminer rapidement si une valeur existe dans le tableau. L'utilisation de base de la fonction in_array() est la suivante :

in_array($needle, $haystack);

$needle est la valeur à trouver, et $haystack est le tableau à trouver. Cette fonction renvoie une valeur booléenne, true si l'élément spécifié est trouvé, sinon false. $needle为要查找的值,$haystack为要查找的数组。该函数会返回布尔值,如果找到了指定的元素返回true,否则返回false

例如:

$names = ['Alice', 'Bob', 'Charlie'];
var_dump(in_array('Charlie', $names)); // 输出 true
var_dump(in_array('David', $names)); // 输出 false

上面的代码中,我们定义了一个数组$names,然后使用in_array()函数查找了'Charlie''David'两个值,结果分别返回了truefalse

在使用in_array()函数判断字符串是否在数组中时,需要注意以下几个问题:

  1. in_array()函数默认是区分大小写的,即判断时必须保证大小写一致;
  2. in_array()函数只能判断值是否在数组中存在,而不能判断该值在数组中的位置;
  3. in_array()函数只能判断一维数组中的元素,对于多维数组,需要使用其它方法进行判断。

方法二:使用array_search()函数进行判断

如果需要找到一个在数组中出现的具体位置,我们可以使用array_search()函数。该函数和in_array()函数类似,不同的是,它返回要查找的值在数组中的键名,而不是返回布尔值。

array_search()函数的基本用法如下:

array_search($needle, $haystack);

其中$needle为要查找的值,$haystack为要查找的数组。如果找到了指定的元素,该函数会返回该元素在数组中的键名(即该元素对应的数组下标),否则返回false

例如:

$names = ['Alice', 'Bob', 'Charlie'];
echo array_search('Charlie', $names); // 输出 2
echo array_search('David', $names); // 输出 ''

上面的代码中,我们定义了一个数组$names,然后使用array_search()函数查找了'Charlie''David'两个值,结果分别返回了2''。注意,在查找'David'时返回了空字符串而不是false

和in_array()函数一样,使用array_search()函数判断字符串是否在数组中时,也需要注意大小写问题。

方法三:使用array_key_exists()函数进行判断

如果想要判断一个指定的键名是否在数组中存在,可以使用array_key_exists()函数。该函数的基本用法如下:

array_key_exists($key, $array);

其中$key为要查找的键名,$array为要查找的数组。如果找到了指定的键名,该函数会返回true,否则返回false

例如:

$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24];
var_dump(array_key_exists('Alice', $ages)); // 输出 true
var_dump(array_key_exists('David', $ages)); // 输出 false

上面的代码中,我们定义了一个关联数组$ages,然后使用array_key_exists()函数查找了'Alice''David'两个键名,结果分别返回了truefalse

需要注意的是,array_key_exists()函数只能用于查找关联数组中的键名,不能用于查找普通数组中的元素值。

方法四:使用isset()函数进行判断

如果有多个可能的键名可以匹配时,可以使用isset()函数来进行判断。该函数的基本用法如下:

isset($array[$key]);

其中$array为要查找的数组,$key为要匹配的键名。如果能匹配到该键名,isset()函数返回true,否则返回false

例如:

$settings = ['debug' => true, 'auth' => false, 'port' => 80];
var_dump(isset($settings['debug'])); // 输出 true
var_dump(isset($settings['logging'])); // 输出 false

上面的代码中,我们定义了一个关联数组$settings,然后使用isset()函数查找了'debug''logging'两个键名,结果分别返回了truefalse

Par exemple :

rrreee

Dans le code ci-dessus, nous définissons un tableau $names, puis utilisons la fonction in_array() pour trouver 'Charlie' et 'David' a deux valeurs et les résultats renvoient respectivement true et false.

Lorsque vous utilisez la fonction in_array() pour déterminer si une chaîne se trouve dans un tableau, vous devez faire attention aux problèmes suivants : 🎜
  1. La fonction in_array() est sensible à la casse par défaut, c'est-à-dire , la casse doit être cohérente lors du jugement. ;
  2. La fonction in_array() peut uniquement déterminer si la valeur existe dans le tableau, mais pas la position de la valeur dans le tableau
  3. La fonction in_array() ne peut déterminer que des tableaux unidimensionnels. Pour les éléments des tableaux multidimensionnels, d'autres méthodes doivent être utilisées pour juger.
🎜Méthode 2 : Utilisez la fonction array_search() pour juger🎜🎜Si vous avez besoin de trouver une position spécifique qui apparaît dans le tableau, nous pouvons utiliser la fonction array_search(). Cette fonction est similaire à la fonction in_array(), sauf qu'elle renvoie le nom de clé de la valeur à trouver dans le tableau au lieu de renvoyer une valeur booléenne. L'utilisation de base de la fonction 🎜🎜array_search() est la suivante : 🎜rrreee🎜où $needle est la valeur à trouver, et $haystack est le tableau à trouver. trouvé. Si l'élément spécifié est trouvé, la fonction renverra le nom de clé de l'élément dans le tableau (c'est-à-dire l'indice du tableau correspondant à l'élément), sinon elle renverra false. 🎜🎜Par exemple : 🎜rrreee🎜Dans le code ci-dessus, nous définissons un tableau $names, puis utilisons la fonction array_search() pour trouver 'Charlie' et ' David' a deux valeurs et les résultats renvoient respectivement 2 et ''. Notez que la recherche de 'David' renvoie la chaîne vide au lieu de false. 🎜🎜Semblable à la fonction in_array(), lorsque vous utilisez la fonction array_search() pour déterminer si une chaîne se trouve dans un tableau, vous devez également faire attention au problème de la casse. 🎜🎜Méthode 3 : utilisez la fonction array_key_exists() pour déterminer 🎜🎜Si vous souhaitez déterminer si un nom de clé spécifié existe dans le tableau, vous pouvez utiliser la fonction array_key_exists(). L'utilisation de base de cette fonction est la suivante : 🎜rrreee🎜où $key est le nom de la clé à trouver, et $array est le tableau à trouver. Si la clé spécifiée est trouvée, la fonction renvoie true, sinon elle renvoie false. 🎜🎜Par exemple : 🎜rrreee🎜Dans le code ci-dessus, nous définissons un tableau associatif $ages, puis utilisons la fonction array_key_exists() pour trouver 'Alice' et 'David' a deux noms de clé et les résultats renvoient respectivement true et false. 🎜🎜Il convient de noter que la fonction array_key_exists() ne peut être utilisée que pour rechercher des noms de clés dans des tableaux associatifs et ne peut pas être utilisée pour rechercher des valeurs d'éléments dans des tableaux ordinaires. 🎜🎜Méthode 4 : utilisez la fonction isset() pour juger🎜🎜S'il existe plusieurs noms de clés possibles qui peuvent correspondre, vous pouvez utiliser la fonction isset() pour juger. L'utilisation de base de cette fonction est la suivante : 🎜rrreee🎜où $array est le tableau à trouver et $key est le nom de clé à rechercher. Si le nom de la clé peut correspondre, la fonction isset() renvoie true, sinon elle renvoie false. 🎜🎜Par exemple : 🎜rrreee🎜Dans le code ci-dessus, nous définissons un tableau associatif $settings, puis utilisons la fonction isset() pour trouver 'debug' et 'logging' deux noms de clés, les résultats ont renvoyé respectivement true et false. 🎜🎜Résumé : 🎜🎜En PHP, il existe de nombreuses façons de déterminer si une chaîne existe dans un tableau, notamment en utilisant la fonction in_array(), la fonction array_search(), la fonction array_key_exists(), la fonction isset(), etc. Lorsque vous utilisez ces fonctions pour porter des jugements, vous devez prêter attention aux problèmes de cas et aux types de tableaux (tableaux unidimensionnels et tableaux multidimensionnels). Choisir la méthode appropriée en fonction des besoins réels peut améliorer l'efficacité opérationnelle et la précision 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