2010-01-03 89 views
0

我試圖在匹配字符串的數組中找到鍵號。如何通過匹配字符串中的值來搜索數組鍵值

我這樣

$key = array_search("foo", $array); 
echo $array[$key]; 

試圖array_search但打印$數組[0]

是否有另一種方式做到這一點?

謝謝:)

+0

你正在尋找的是*正是*的值相匹配的搜索字符串?或者您的搜索字符串可以是您要查找的值的子字符串?一個用於搜索示例的數組示例會很有幫助。 – 2010-01-03 09:27:05

回答

2

如果找不到鑰匙,array_search回報false。你必須檢查(在我的例子中的第3行)

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); 
$key = array_search("green", $array); //the $key will be "2" 
if ($key !== false) { 
    echo $array[$key]; 
} 

否則,你的代碼似乎做你所需要的。如果有問題,請發佈更多代碼。

0

我不完全匹配整個字符串,只有一部分,array_search仍然工作?

順便說一句我是通過爲每個做的preg_match,直到找到那麼串打破循環和存儲密鑰一個數組的數組做了一個循環

相關問題