Maison > développement back-end > Problème PHP > Comment déterminer si un élément existe dans un tableau en php

Comment déterminer si un élément existe dans un tableau en php

PHPz
Libérer: 2023-04-19 10:31:26
original
703 Les gens l'ont consulté

En programmation PHP, nous avons souvent besoin d'opérer sur des tableaux. Dans certains cas, nous devons déterminer si un élément existe dans le tableau pour faciliter les opérations ultérieures. Alors, comment déterminer si un élément existe dans le tableau ?

1. Utilisez la fonction in_array()

La fonction in_array() intégrée de PHP peut être utilisée pour déterminer si un élément est dans un tableau. La syntaxe de cette fonction est la suivante :

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

Parmi eux, $needle représente l'élément à rechercher, $haystack représente le tableau à rechercher et $strict représente si le mode strict est activé, c'est-à-dire les types de données doit également être le même.

Par exemple, pour déterminer si le chiffre 1 est dans le tableau :

<?php
$numbers = array(1, 2, 3, 4, 5);
if (in_array(1, $numbers)) {
    echo "数字1在数组中";
} else {
    echo "数字1不在数组中";
}
?>
Copier après la connexion

Le résultat de sortie est : "Le chiffre 1 est dans le tableau".

Déterminez si la chaîne "hello" est dans le tableau :

<?php
$strings = array("hello", "world", "php");
if (in_array("hello", $strings)) {
    echo "字符串hello在数组中";
} else {
    echo "字符串hello不在数组中";
}
?>
Copier après la connexion

Le résultat de sortie est : "La chaîne hello est dans le tableau".

2. Utilisez la fonction array_search()

En plus de la fonction in_array(), nous pouvons également utiliser la fonction array_search() pour déterminer si un élément est dans un tableau. La syntaxe de cette fonction est la suivante :

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

Parmi eux, $needle représente l'élément à rechercher, $haystack représente le tableau à rechercher et $strict représente si le mode strict est activé, c'est-à-dire les types de données doit également être le même. Si l'élément existe dans le tableau, renvoie l'indice correspondant à l'élément ; s'il n'existe pas, renvoie false.

Par exemple, pour déterminer si le nombre 3 est dans le tableau :

<?php
$numbers = array(1, 2, 3, 4, 5);
$search_result = array_search(3, $numbers);
if ($search_result !== false) {
    echo "数字3在数组中,下标为:{$search_result}";
} else {
    echo "数字3不在数组中";
}
?>
Copier après la connexion

Le résultat de sortie est : "Le nombre 3 est dans le tableau, l'indice est : 2".

Déterminez si la chaîne "php" est dans le tableau :

<?php
$strings = array("hello", "world", "php");
$search_result = array_search("php", $strings);
if ($search_result !== false) {
    echo "字符串php在数组中,下标为:{$search_result}";
} else {
    echo "字符串php不在数组中";
}
?>
Copier après la connexion

Le résultat de sortie est : "La chaîne php est dans le tableau, l'indice est : 2".

3. La différence entre l'utilisation de in_array et array_search

in_array() et array_search() ont le même effet pour juger si un élément est dans un tableau. Mais ils présentent les différences suivantes :

  1. Le type de valeur de retour est différent

La valeur de retour de in_array() est une valeur booléenne, indiquant si l'élément existe dans le tableau et la valeur de retour de array_search() est une valeur booléenne. le nom de la clé, si l'élément n'existe pas, renvoie false.

  1. Différentes précisions

La fonction in_array() détermine uniquement si les valeurs des éléments sont égales, quel que soit le type des éléments. Par exemple, in_array("1", array(1, 2, 3)) renverra vrai car "1" est converti en nombre 1 et est égal à l'élément 1 du tableau. La fonction

array_search() effectuera également une conversion de type et déterminera si les valeurs des éléments sont égales lorsque le mode strict n'est pas activé. Par exemple, array_search("1", array(1, 2, 3)) renverra 0 car "1" est converti en nombre 1 et est égal à l'élément 1 du tableau, et la clé de l'élément 1 est 0.

Après avoir activé le mode strict, array_search() effectuera une comparaison plus précise, y compris le type et la valeur des éléments. Par exemple, array_search("1", array(1, 2, 3), true) renverra false car le type de l'élément 1 est un entier, qui n'est pas égal au type de la chaîne "1".

4. Utilisez la fonction isset()

Dans le développement réel, nous pouvons également utiliser la fonction isset() pour déterminer si un élément existe dans un tableau. La fonction isset() peut être utilisée pour détecter si une variable est définie (non nulle) afin de déterminer si un élément existe dans le tableau.

Par exemple, déterminez s'il existe un élément avec l'indice "nom d'utilisateur" dans le tableau :

<?php
$user_info = array("username" => "admin", "email" => "admin@php.net");
if (isset($user_info["username"])) {
    echo "数组中存在username元素";
} else {
    echo "数组中不存在username元素";
}
?>
Copier après la connexion

Le résultat de sortie est : "L'élément de nom d'utilisateur existe dans le tableau."

Résumé

En PHP, il existe de nombreuses façons de déterminer si un élément existe dans un tableau, y compris des fonctions telles que in_array(), array_search() et isset(). En utilisation réelle, nous pouvons choisir une méthode appropriée pour juger les éléments du tableau selon les besoins afin de faciliter les opérations ultérieures.

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