2017-10-12 164 views
0

我正在使用下面的代碼來搜索數組中的字符串並打印相應的響應代碼。但是,下面的代碼總是打印Approved1在所有情況下(即000,00,0)陣列中元素的確切位置

$resp_desc=["Approved1","Approved","Fail"]; 
$resp_table=["000","00","0"]; 
$description=array_search("0",array_keys($resp_table)); 
$desc1=$resp_desc[$description]; 
echo $desc1; 

請在上述異物引導。

+1

你爲什麼在array_keys而不是值搜索? – madalinivascu

+1

這並不完全清楚,但您也可能想將第三個參數作爲'true'傳遞給'array_search'。否則,所有這些值將被視爲相等,因爲它會做一個寬鬆的比較。 – iainn

回答

3

您在數組鍵搜索不是數組的數值,設置限制真正的array_search所以你只有一個結果

$description=array_search("0",$resp_table,true); 
+1

請注意,第三個參數'exact'在這裏也很重要,因爲'array_search(「0」,$ resp_table);'也返回'0'。 – OptimusCrime