2017-03-03 88 views
-1

这是我的数组$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

我很茫然。

+0

Downvoted,因为它显示在自我解决很少的努力,并在很大程度上是无助于未来的读者。请考虑删除此问题。 – mickmackusa

回答

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

试试这个,

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"; 
     } 

要么将​​工作,并检查是否具有空间盈描述单元。

试试看,这会起作用。

+0

哦,是的,这是工作 – Jarla

+0

一个很好的解决方案! – Jarla

+0

谢谢队友!如果你的问题已经在我给出的解决方案中解决了,你可以接受我的答案! – rahulsm

0

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

当你创建数组时使用trim函数来避免空白和你的代码将工作。

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

谢谢!这是行得通的。我没有看到 – Jarla

1

字符串(12) “说明”在这里有一个空间,但(in_array( “说明”,$数据))没有任何空间。那么,你怎么会希望_____?

首先,你必须使用微调功能

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

然后使用in_array获得期望的结果修剪大家介绍的..

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