2017-03-03 90 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