Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用开关盒检查数组是否包含某些键_Php_Arrays_If Statement_Switch Statement_Key - Fatal编程技术网

Php 使用开关盒检查数组是否包含某些键

Php 使用开关盒检查数组是否包含某些键,php,arrays,if-statement,switch-statement,key,Php,Arrays,If Statement,Switch Statement,Key,问题正如标题所说。我需要检查一个数组是否包含开关盒中的某个键。我需要使用开关盒,因为我需要检查3个以上的元件。我不知道该怎么做 比如说 $update = array(); $update['message'] = array('photo' => array(array('file_id' => 1234, 'file_size' => 3451), array('file_id' => 64254, 'file_size'=>51235))); 我需要检查数组

问题正如标题所说。我需要检查一个数组是否包含开关盒中的某个键。我需要使用开关盒,因为我需要检查3个以上的元件。我不知道该怎么做

比如说

$update = array();
$update['message'] = array('photo' => array(array('file_id' => 1234, 'file_size' => 3451), array('file_id' => 64254, 'file_size'=>51235)));
我需要检查数组$update['message']是否包含一个名为'photo'的键(以及其他元素),这就是我需要switch子句的原因) 如果有人能指出这是如何正确完成的,我们将不胜感激

我知道我可以用嵌套的if语句来实现这一点,但这并不是那么干净和高效

更新: 我已经找到了一个解决方案,尽管它有效,但我不确定这是否是正确的方法。如有任何建议,将不胜感激。

详情如下:

switch($update['message'])
{
case (array_key_exists('photo', $update['message'])): echo 'hello'; break;
default:break;
}
像这样试试

switch(array_key_exists('photo', $update['message']))
{
    case true: echo 'hello'; break;
    default:break;
}
像这样试试

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

你的意思是像数组()中的
?不,等等,这将是
array\u key\u exists()
不是吗。我找到了解决方案,我更新了问题。请看一看:)“我需要使用开关盒,因为我需要检查3个以上的元素。”你的意思是数组只能包含3个键中的一个?如果开关盒包含所有3个开关,则开关盒将无法连接。它只会检测您在开关盒中放在第一位的一个。是的,我查找的x个键中的一个。是否有可能
$update['message']
有多个键?您的意思是像
in_array()
?不,等等,这将是
array\u key\u exists()
不是吗。我找到了解决方案,我更新了问题。请看一看:)“我需要使用开关盒,因为我需要检查3个以上的元素。”你的意思是数组只能包含3个键中的一个?如果开关盒包含所有3个开关,则开关盒将无法连接。它只会检测您在开关盒中放在第一位的键。是的,我查找的x个键中的一个。是否有可能
$update['message']
有多个键?这与if-else语句相同:)这与if-else语句相同:)