Maison > développement back-end > Problème PHP > Comment savoir si une chaîne spécifiée existe dans un tableau en php

Comment savoir si une chaîne spécifiée existe dans un tableau en php

PHPz
Libérer: 2023-04-20 09:20:30
original
728 Les gens l'ont consulté

Pour les développeurs PHP, les tableaux sont souvent nécessaires. Les tableaux sont stockés dans des paires clé-valeur lorsque la quantité de données est importante, la recherche d'un élément peut prendre du temps. PHP dispose d'une variété de fonctions intégrées pour déterminer si une valeur spécifiée existe dans un tableau. Cet article présentera certaines d'entre elles et leurs différences.

Fonction in_array

La fonction in_array() est l'une des fonctions de tableau intégrées de PHP, qui est utilisée pour trouver une valeur spécifiée dans un tableau. Sa syntaxe est la suivante : in_array() 函数是 PHP 内置的数组函数之一,它用于在数组中查找指定的值。它的语法如下:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Copier après la connexion

其中,

  • mixed $needle:要查找的值。
  • array $haystack:查找的数组。
  • bool $strict:是否使用严格模式。如果为 true,则搜索会比较数据类型,并且不同类型的值不相等。默认为 false。

该函数将返回一个布尔值,表示值是否在数组中。如果是,则返回 true,否则返回 false。

例如,以下代码演示了如何使用 in_array() 函数来查找字符串 "apple" 是否存在于数组 $fruits 中:

$fruits = array("banana", "orange", "apple", "lemon");

if (in_array("apple", $fruits)) {
    echo "找到了 apple。";
} else {
    echo "没有找到 apple。";
}
Copier après la connexion

输出结果为:

找到了 apple。
Copier après la connexion

array_search 函数

array_search() 函数也是 PHP 内置的数组函数之一,它用于在数组中查找指定的值,并返回它的键。它的语法如下:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
Copier après la connexion

其中,

  • mixed $needle:要查找的值。
  • array $haystack:查找的数组。
  • bool $strict:是否使用严格模式。如果为 true,则搜索会比较数据类型,并且不同类型的值不相等。默认为 false。

该函数将返回找到的值的键(使用数字键和关联键),如果没找到,则返回 false。

例如,以下代码演示了如何使用 array_search() 函数来查找字符串 "apple" 是否存在于数组 $fruits 中,并返回它的键:

$fruits = array("banana", "orange", "apple", "lemon");
$key = array_search("apple", $fruits);

if ($key) {
    echo "找到了 apple,它的键是 " . $key . "。";
} else {
    echo "没有找到 apple。";
}
Copier après la connexion

输出结果为:

找到了 apple,它的键是 2。
Copier après la connexion

需要注意的是,如果值对应的键是 0,则 array_search() 函数会返回 0,这可能会导致程序出现问题,因此需要进行类型判断。

isset 和 array_key_exists 函数

isset() 函数和 array_key_exists() 函数都可以用于判断数组中是否存在某个键,语法如下:

bool isset ( mixed $var [, mixed $... ] )
bool array_key_exists ( mixed $key , array $array )
Copier après la connexion

其中,

  • mixed $var/$key:要查找的键。
  • mixed $...:可选。要查找的多个键。
  • array $array:查找的数组。

两个函数都将返回一个布尔值,表示键是否存在于数组中。

需要注意的是,两个函数的差异在于,isset() 函数也可以用于判断变量是否存在,如果变量未声明,会返回 false。而 array_key_exists() 函数只能用于数组,并且不支持搜索多维数组。

例如,以下代码演示了如何使用 isset() 函数和 array_key_exists() 函数来判断键是否存在:

$fruits = array("banana" => 2, "orange" => 3, "apple" => 4, "lemon" => 1);

if (isset($fruits["banana"])) {
    echo "存在键 banana。";
} else {
    echo "不存在键 banana。";
}

if (array_key_exists("orange", $fruits)) {
    echo "存在键 orange。";
} else {
    echo "不存在键 orange。";
}
Copier après la connexion

输出结果为:

存在键 banana。存在键 orange。
Copier après la connexion

总结

本文介绍了 PHP 数组中四个用于查找元素的函数:in_array()array_search()isset()array_key_exists()。这些函数可以根据不同的需求选择使用,其中 array_search() 函数具有一定的优势,因为它返回键,而不是布尔值。但需要注意的是,要判断值是否在数组中,最好使用 in_array() 函数,因为如果键是 0,array_search()rrreee

where,

  • mixed $needle : la valeur à trouver.
  • array $haystack : le tableau à rechercher.
  • bool $strict : s'il faut utiliser le mode strict. Si c'est vrai, la recherche compare les types de données et les valeurs de différents types ne sont pas égales. La valeur par défaut est fausse.
Cette fonction renverra une valeur booléenne indiquant si la valeur est dans le tableau. Si c'est le cas, renvoie vrai, sinon renvoie faux. 🎜🎜Par exemple, le code suivant montre comment utiliser la fonction in_array() pour déterminer si la chaîne "apple" existe dans le tableau $fruits : 🎜rrreee🎜Le résultat est : 🎜rrreee🎜array_search function🎜🎜 La fonction array_search() est également l'une des fonctions de tableau intégrées de PHP. Elle est utilisée pour trouver une valeur spécifiée dans un tableau et renvoyer sa clé. Sa syntaxe est la suivante : 🎜rrreee🎜where, 🎜
  • mixed $needle : la valeur à trouver.
  • array $haystack : le tableau à rechercher.
  • bool $strict : s'il faut utiliser le mode strict. Si c'est vrai, la recherche compare les types de données et les valeurs de différents types ne sont pas égales. La valeur par défaut est fausse.
🎜Cette fonction renverra la clé de la valeur trouvée (en utilisant la touche numérique et la clé associée), ou false si elle n'est pas trouvée. 🎜🎜Par exemple, le code suivant montre comment utiliser la fonction array_search() pour déterminer si la chaîne "apple" existe dans le tableau $fruits et renvoyer sa clé : 🎜rrreee🎜Le résultat est : 🎜 rrreee🎜Il est à noter que si la clé correspondant à la valeur est 0, la fonction array_search() renverra 0, ce qui peut causer des problèmes dans le programme, donc un jugement de type est requis. Les fonctions 🎜🎜isset et array_key_exists🎜🎜La fonction isset() et la fonction array_key_exists() peuvent être utilisées pour déterminer si une clé existe dans le tableau. La syntaxe est la suivante : 🎜rrreee🎜 Parmi eux, 🎜
  • mixte $var/$key : la clé à trouver.
  • $ mixtes... : facultatif. Plusieurs clés à trouver.
  • array $array : le tableau à rechercher.
🎜Les deux fonctions renverront une valeur booléenne indiquant si la clé existe dans le tableau. 🎜🎜Il est à noter que la différence entre les deux fonctions est que la fonction isset() peut également être utilisée pour déterminer si une variable existe. Si la variable n'est pas déclarée, elle retournera false. La fonction array_key_exists() ne peut être utilisée que pour les tableaux et ne prend pas en charge la recherche de tableaux multidimensionnels. 🎜🎜Par exemple, le code suivant montre comment utiliser la fonction isset() et la fonction array_key_exists() pour déterminer si une clé existe : 🎜rrreee🎜La sortie est : 🎜rrreee🎜Résumé 🎜🎜Cet article présente quatre fonctions pour rechercher des éléments dans des tableaux PHP : in_array(), array_search(), isset() et array_key_exists(). Ces fonctions peuvent être sélectionnées et utilisées selon différents besoins, parmi lesquels la fonction array_search() présente certains avantages car elle renvoie des clés au lieu de valeurs booléennes. Mais il faut noter que pour déterminer si la valeur est dans le tableau, il est préférable d'utiliser la fonction in_array(), car si la clé est 0, le array_search() La fonction code> renverra 0. 🎜🎜Enfin, il convient de mentionner qu'aucune des fonctions ci-dessus n'est adaptée aux tableaux multidimensionnels. Pour les tableaux multidimensionnels, nous devons utiliser la récursivité ou d'autres algorithmes pour terminer l'opération de recherche. 🎜

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal