2015-12-14 27 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语句相同:) –

相关问题