如何检查数组中是否有值?

时间:2017-03-03 11:37:46

标签: php arrays

这是我的数组$data

array(3) {
   [0]=>
      string(4) "icon"
   [1]=>
      string(6) " image"
   [2]=>
      string(12) " description"
}

我试着找出我的数组中是否存在值:

if (in_array("description", $data))
{
    echo "Match found";
}
else
{
    echo "Match not found";
}

但我的结果是Match not found

我不知所措。

5 个答案:

答案 0 :(得分:2)

在if语句之前添加此行$data= array_map('trim', $data);。所以最终的代码将是

$data = array('icon',' image',' description');
$data= array_map('trim', $data);
if (in_array("description", $data)){
    echo "Match found";
}
else{
    echo "Match not found";
}

答案 1 :(得分:2)

Php函数array_search()正是您所需要的。

以下是示例

if( array_search('description', $array) ){
   echo 'Exist';
}else{
   echo 'Not exists'
}

要了解有关array_search()的更多信息,请使用此链接 http://php.net/manual/en/function.array-search.php

答案 2 :(得分:1)

试试这个,

if (in_array(" description", $data))
    {
    echo "Match found";
   }
   else
    {
    echo "Match not found";
   }

OR

$data= array_map('trim', $data);

if (in_array("description", $data))
        {
        echo "Match found";
       }
       else
        {
        echo "Match not found";
       }

要么工作,要检查你是否有描述元素的空间。

试一试,这样可行。

答案 3 :(得分:1)

string(12)"说明" 这里有空格但(in_array("说明",$ data))没有任何空间。那么,你怎么可能_____?

首先,您必须使用修剪功能修剪所有描述

$data=array_map("trim",$data);

然后使用 in_array 来获得期望结果..

答案 4 :(得分:0)

查看您的数组$ data包含descriptionimage等值,其中包含一个额外空格。

创建数组时使用trim函数来避免空格,并且代码可以正常工作。

if (in_array(" description", $data)) {
    echo "Match found";
   } else {
    echo "Match not found";
   }