2015-12-14 22 views
1

問題與標題所述相同。我需要檢查一個數組是否包含開關情況下的某個鍵。我需要使用開關盒,因爲我需要檢查超過3個元素。我很困惑如何去做這件事。檢查數組是否包含使用開關盒的某個鍵

例如。

$update = array(); 
$update['message'] = array('photo' => array(array('file_id' => 1234, 'file_size' => 3451), array('file_id' => 64254, 'file_size'=>51235))); 

我需要檢查,如果數組$更新[「消息」]包含一個名爲「照片」鍵(或其他元素,以及這就是爲什麼我需要一個開關條款) 如果有人能指出如何這是正確的,它將不勝感激。

我知道我可以用嵌套的if語句來做這件事,但這並不那麼幹淨和高效。

UPDATE: 我已經到了一個解決方案,但它的作品,我不知道這是否是做正確的方式。建議將不勝感激。

這是如下

switch($update['message']) 
{ 
case (array_key_exists('photo', $update['message'])): echo 'hello'; break; 
default:break; 
} 
+0

你的意思是像'in_array()'?沒有等待,這將是'array_key_exists()'不是。 – developerwjk

+0

我到達解決方案,我更新了這個問題。請看看:) –

+0

「我需要使用開關盒,因爲我需要檢查超過3個元素。」你的意思是陣列只能包含3個鍵中的一個?如果它包含所有的開關盒,它將不會被捕獲。它只會檢測你首先放入開關盒的那個。 – developerwjk

回答

0

嘗試這樣

switch(array_key_exists('photo', $update['message'])) 
{ 
    case true: echo 'hello'; break; 
    default:break; 
} 
+0

這與if else語句相同:) –

相關問題