Maison > développement back-end > Problème PHP > Comment déterminer si une valeur est dans un tableau en php

Comment déterminer si une valeur est dans un tableau en php

PHPz
Libérer: 2023-04-25 18:03:42
original
665 Les gens l'ont consulté

PHP, en tant que langage de script largement utilisé dans le développement Web, possède de fortes capacités de traitement de données, parmi lesquelles les tableaux sont l'un des types de données importants en PHP. En PHP, nous avons souvent besoin de déterminer si une valeur existe dans un tableau, donc déterminer si une valeur en PHP est dans un tableau est un problème très courant. Cet article explorera cette question en profondeur.

1. Introduction aux tableaux PHP

En PHP, un tableau est un type de données couramment utilisé avec les caractéristiques suivantes :

    #🎜🎜 #PHP array est une liste ordonnée, chaque élément a une valeur clé unique (c'est-à-dire un indice), qui peut être un entier ou une chaîne.
  1. Les valeurs des clés du tableau PHP peuvent croître automatiquement.
  2. PHP La valeur d'un tableau peut être n'importe quel type de données, y compris un entier, une virgule flottante, une booléenne, une chaîne, un objet, etc.
Par exemple, ce qui suit est un simple tableau PHP :

$cities=array("Beijing","Shanghai","Guangzhou","Shenzhen");
Copier après la connexion
Dans ce tableau, $cities est un nom de variable de tableau , array("Beijing","Shanghai","Guangzhou","Shenzhen") est un tableau composé de quatre éléments, chaque élément correspond à un nom de ville de type chaîne, comme suit Les étiquettes sont 0, 1, 2 et 3 respectivement.

$cities 是一个数组变量名,array("Beijing","Shanghai","Guangzhou","Shenzhen") 是一个由四个元素组成的数组,每个元素都对应一个字符串类型的城市名,下标分别为 0、1、2、3。

二、PHP 中判断值是否在数组中的方法

现在假设我们有一个数组 $arr 和一个值 $value,我们需要判断此值是否在该数组中。PHP 中有多种方法可以实现此目的,包括使用 in_array() 函数、使用 array_search() 函数、使用 isset()array_key_exists() 函数等等,下面分别进行介绍。

  1. 使用 in_array() 函数判断值是否在数组中

in_array() 函数用于检查一个值是否存在于一个数组中,并返回一个布尔值。如果 $value 存在于 $arr 中,则返回 True,否则返回 False

in_array($value,$arr);
Copier après la connexion

下面是一个示例:

$fruits=array("apple","banana","orange","kiwi");
if(in_array("banana",$fruits)){
    echo "查找到了值!";
}else{
    echo "未查找到值.";
}
Copier après la connexion

这段代码将输出 查找到了值!

  1. 使用 array_search() 函数判断值是否在数组中

array_search() 函数用于尝试在数组中查找一个元素,并返回它的键(即下标)。如果 $value 存在于 $arr 中,则返回该元素的键,否则返回 False

array_search($value,$arr);
Copier après la connexion

下面是一个示例:

$fruits=array("apple","banana","orange","kiwi");
$index=array_search("banana",$fruits);
echo $index;
Copier après la connexion

这段代码将输出 1,因为 banana 对应 $fruits 数组中的第二个元素,它的下标是 1。

需要注意的是,如果 $value 对应多个元素,则只返回遇到的第一个元素的下标。

  1. 使用 isset()array_key_exists() 函数判断值是否在数组中

isset() 函数用于检测变量是否设置,如果变量存在且值不是 NULL,则返回 True,否则返回 False

isset($arr[$key]);
Copier après la connexion

array_key_exists() 函数用于检查指定的键或索引是否存在于数组中。如果 $key 存在于 $arr 中,则返回 True,否则返回 False

array_key_exists($key,$arr);
Copier après la connexion

下面是一个示例:

$fruits=array("apple"=>1,"banana"=>2,"orange"=>3,"kiwi"=>4);
if(isset($fruits["banana"])){
    echo "查找到了值!";
}else{
    echo "未查找到值.";
}
Copier après la connexion

这段代码将输出 查找到了值!,因为该数组中存在键值为 banana 的元素。

三、PHP中三种方法的比较

使用 in_array() 函数和 array_search() 函数是比较常见的方法,同时它们也是比较高效的方法。

in_array() 函数返回一个布尔值,不需要查询元素在数组中的位置,速度较快。而 array_search() 函数返回元素在数组中的索引,速度会稍慢一些。

使用 isset() 函数和 array_key_exists() 函数对于关联数组(即下标为字符串的数组)较为常用。这两个函数的区别在于,isset() 函数在目标值存在时返回 True,在目标值不存在时依然返回 False;而 array_key_exists() 函数在目标值不存在时返回 False,仅在目标值存在时返回 True

四、总结

在 PHP 中判断一个值是否存在于数组中是一个常见的需求,本文介绍了 PHP 中的三种方法:使用 in_array() 函数、使用 array_search() 函数和使用 isset()array_key_exists()2. Comment déterminer si une valeur est dans un tableau en PHP

#🎜🎜#Supposons maintenant que nous ayons un tableau $arr et une valeur $value, nous devons déterminer si cette valeur est dans le tableau. Il existe plusieurs façons de procéder en PHP, notamment en utilisant la fonction in_array(), en utilisant la fonction array_search(), en utilisant isset() et les fonctions array_key_exists(), etc. sont présentées ci-dessous. #🎜🎜##🎜🎜##🎜🎜#Utilisez la fonction in_array() pour déterminer si la valeur est dans le tableau#🎜🎜##🎜🎜##🎜🎜#in_array () code> La fonction est utilisée pour vérifier si une valeur existe dans un tableau et renvoie une valeur booléenne. Renvoie <code>True si $value existe dans $arr, sinon renvoie False. #🎜🎜#rrreee#🎜🎜#Voici un exemple : #🎜🎜#rrreee#🎜🎜#Ce code affichera Valeur trouvée !. #🎜🎜#
    #🎜🎜#Utilisez la fonction array_search() pour déterminer si la valeur est dans le tableau#🎜🎜##🎜🎜##🎜🎜# array_search La fonction () tente de trouver un élément dans un tableau et renvoie sa clé (c'est-à-dire son indice). Si $value existe dans $arr, renvoie la clé de l'élément, sinon renvoie False. #🎜🎜#rrreee#🎜🎜#Voici un exemple : #🎜🎜#rrreee#🎜🎜#Ce code affichera 1 car banane correspond au tableau $fruits Le deuxième élément de , son indice est 1. #🎜🎜##🎜🎜#Il est à noter que si $value correspond à plusieurs éléments, seul l'indice du premier élément rencontré sera renvoyé. #🎜🎜#
      #🎜🎜#Utilisez les fonctions isset() et array_key_exists() pour déterminer si la valeur est dans le tableau# 🎜🎜## 🎜🎜##🎜🎜#La fonction isset() est utilisée pour détecter si la variable est définie si la variable existe et que la valeur n'est pas NULL, il renvoie True , sinon renvoie False. #🎜🎜#rrreee#🎜🎜#array_key_exists() La fonction est utilisée pour vérifier si la clé ou l'index spécifié existe dans le tableau. Renvoie True si $key existe dans $arr, sinon renvoie False. #🎜🎜#rrreee#🎜🎜#Ce qui suit est un exemple : #🎜🎜#rrreee#🎜🎜#Ce code affichera Valeur trouvée !, car la valeur clé dans le tableau est élément banane. #🎜🎜##🎜🎜#3. Comparaison de trois méthodes en PHP #🎜🎜##🎜🎜#Utilisez la fonction in_array() et la fonction array_search() Ce sont les méthodes les plus courantes, et ce sont aussi les méthodes les plus efficaces. #🎜🎜##🎜🎜#in_array() La fonction renvoie une valeur booléenne. Il n'est pas nécessaire d'interroger la position de l'élément dans le tableau, et c'est plus rapide. La fonction array_search() renvoie l'index de l'élément dans le tableau, ce qui est légèrement plus lent. #🎜🎜##🎜🎜#L'utilisation de la fonction isset() et de la fonction array_key_exists() est plus couramment utilisée pour les tableaux associatifs (c'est-à-dire les tableaux dont les indices sont des chaînes ). La différence entre ces deux fonctions est que la fonction isset() renvoie True lorsque la valeur cible existe, et renvoie toujours False lorsque la valeur cible n'existe pas ; La fonction array_key_exists() renvoie False lorsque la valeur cible n'existe pas, et renvoie True uniquement lorsque la valeur cible existe. . #🎜🎜##🎜🎜# 4. Résumé #🎜🎜##🎜🎜# Déterminer si une valeur existe dans un tableau est une exigence courante en PHP Cet article présente trois méthodes en PHP : utiliser in_array()<.>, en utilisant la fonction <code>array_search() et en utilisant les fonctions isset() et array_key_exists(). Ces méthodes sont relativement simples à mettre en œuvre et peuvent être sélectionnées et utilisées en fonction des besoins. Parallèlement, d'autres méthodes ou algorithmes peuvent également être sélectionnés en fonction de la situation réelle. Quoi qu’il en soit, la clé réside dans un compromis entre l’exactitude et l’efficacité. #🎜🎜#

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!

source:php.cn
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