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);
où $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'
两个值,结果分别返回了true
和false
。
在使用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'
两个键名,结果分别返回了true
和false
。
需要注意的是,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'
两个键名,结果分别返回了true
和false
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 : 🎜$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!