Maison  >  Article  >  développement back-end  >  La fonction array_search() de PHP recherche une valeur de clé dans un tableau et renvoie le nom de clé correspondant

La fonction array_search() de PHP recherche une valeur de clé dans un tableau et renvoie le nom de clé correspondant

黄舟
黄舟original
2017-11-08 13:51:407800parcourir

Exemple

Recherchez la valeur clé "red" dans le tableau et renvoyez son nom de clé :

<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>

Définition et utilisation

fonction array_search() dans Recherchez une valeur de clé dans le tableau et renvoyez le nom de clé correspondant.

Syntaxe

array_search(value,array,strict)
Paramètre Description
valeur Obligatoire . Spécifie la valeur de clé à rechercher dans le tableau.
tableau Obligatoire. Spécifie le tableau à rechercher.
strict Facultatif. Si ce paramètre est défini sur TRUE, la fonction recherche dans le tableau à la fois le type de données et la valeur. Des éléments cohérents. Valeurs possibles :
  • 参数 描述
    value 必需。规定在数组中搜索的键值。
    array 必需。规定被搜索的数组。
    strict 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
    • true

    • false - 默认

    如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
    true

  • false - Par défaut
    返回值: 如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。
    PHP 版本: 4.0.5+
    更新日志 如果向函数传递无效的参数,函数返回 NULL(这个适用于自 PHP 5.3.0 起的所有的 PHP 函数)。

    自 PHP 4.2.0 起,如果搜索失败,该函数返回 FALSE,而不是 NULL。
Si défini sur true, le type de la valeur donnée est vérifié dans le tableau, le numéro 5 et string 5 est différent (voir exemple 2).
Détails techniques

更多实例

实例 1

在数组中搜索键值 5,并返回它的键名(注意 ""):

<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
?>

但是array_search一般用到搜索一个数组中符合要求的第一个字符串。如果搜索的字符串在数组中含有多个,使用array_search的话,是 不行的。这时,我们使用array_keys()函数,实现搜索的字符串在数组中含有多个,

看一下如下例子:

$array = array(0 => &#39;blue&#39;, 1 => &#39;red&#39;, 2 => &#39;green&#39;, 3 => &#39;red&#39;); 
$a=array_search( "blue",$array); //将输出$a=0; 
$b=array_search( &#39;red&#39;,$array); //将只会输出$b=1; 
$p = array_keys($array, &#39;red&#39;);//搜索的字符串在数组中含有多个 
if(is_array($p)) {
  foreach($p as $v) { 
    echo $val."出现在".$v . " ";
   }
}else { 
  echo $val."出现在".array_search($val, $array)." ";
}

例二:

$array = array(4,5,7,8,9,10); 
$found = array_search(8, $array); //调用array_search函数并输出查找结果 
if($found){ //如果找到输出键 
echo "已找到,键为".$found; 
}else{ //如果没有找到输出错误信息 
echo "没有找到"; 
}

下面我们来看看in_array函数

采用in_array(value,array,type)

type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

$arr = array(&#39;可以&#39;,&#39;如何&#39;,&#39;方法&#39;,&#39;知道&#39;,&#39;沒有&#39;,&#39;不要&#39;);
//in_array(value,array,type)
$isin = in_array("如何2",$arr);
if($isin){
  echo "in====".$isin;
}else{
  echo "out====".$isin;
}

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