2012-02-28 151 views
0

如何循環訪問數組,然後檢查當前選定的元素是否是鍵?謝謝。檢查數組元素是否爲鍵

E.g.以下:

for($i=0;$i<count($arr);$i++) { 
    //if($arr[$i]) == key, or typeOf($arr[$i]) == key, then doSomething(); 
} 
+1

您的意思是元素值等於鍵? – 2012-02-28 10:29:55

+0

你是什麼意思*「當前選定的元素」*和*「是一個關鍵」* – Joseph 2012-02-28 10:30:04

+1

你是什麼意思?數組中的每個元素都由一個鍵和值組成。你的意思是價值是另一個陣列中的關鍵嗎? – 2012-02-28 10:30:07

回答

2

如果你想檢查的關鍵在數組中存在,那麼使用array_key_exists()

//check if whatever is $key is a key in $array 
if(array_key_exists($key , $array)){ 
    //do something because it's a key 
} else { 
    //key not found. not a key 
} 

周圍做其他的方式獲取密鑰,如果值存在,使用array_search()

$array = array(
    0 => 'blue', 
    1 => 'red', 
    2 => 'green', 
    3 => 'red' 
); 

$key = array_search('green', $array); // $key = 2; 
$key = array_search('red', $array); // $key = 1; 
+0

謝謝!我衷心感謝您的回答!然而,另一個麻煩是獲取實際的密鑰本身(例如「和」=>「單詞」 - 我怎麼能通過這種方式得到「和」的字符串?)。謝謝! – user784446 2012-02-28 10:53:02

+0

@ user784446:如果您提供了您擁有的數據(輸入)和想要獲得的結果的示例,那麼幫助您會更容易。 – 2012-02-28 10:57:10

+0

我試圖通過一個數組循環,並測試,以查看它的關鍵或值相關通過一個strstr測試。 – user784446 2012-02-28 11:00:30