Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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 - Fatal编程技术网

PHP使用子数组验证数组?

PHP使用子数组验证数组?,php,arrays,Php,Arrays,我有一个工作日的PHP数组,通过表单提交我可以得到额外的数据,但我想验证这个数组,所以如果数组是空的,我想显示一条消息,我的问题总是有一个子数组叫做“games”,所以主数组从不为空。我怎么能忽视他们 “空”数组结构类似于: “monday”=[“games”=[1,2,3,“games\u off”], 迭代数组并计算每天的值。因为“游戏”总是有一个值,所以请查找小于2的计数。如果找到任何,则该项目仅包含“游戏”,并且您的数组无效 $valid = true; foreach ($array

我有一个工作日的PHP数组,通过表单提交我可以得到额外的数据,但我想验证这个数组,所以如果数组是空的,我想显示一条消息,我的问题总是有一个子数组叫做“games”,所以主数组从不为空。我怎么能忽视他们

“空”数组结构类似于:

monday”=[“games”=[1,2,3,“games\u off”],


迭代数组并计算每天的值。因为“游戏”总是有一个值,所以请查找小于2的计数。如果找到任何,则该项目仅包含“游戏”,并且您的数组无效

$valid = true;
foreach ($array as $day => $values) {
    if (count($values) < 2) {
        $valid = false;
        break;
    }
}

您可以走进阵列并对其进行计数:

$count = 0;
foreach ($array as $item) {
    if (is_array($item) && count(item) > 0){
        foreach ($item as $key => $subitem) {
            if ($key != 'games'){
               $count++;
            }
        }
    }
}

if ($count > 0){
  //your array is valid
}

请发布文字而不是图片。所以,你是在验证游戏子数组是否为空吗?或者除了游戏之外,还有其他东西应该在工作日名称键下吗?@Don'tPanic我想忽略“games”数组,因为他总是可用的,如果只有“games”数组,这是错误的,是否有新的东西,然后是正确的是的,至少两个游戏“+其他任何东西都至少有两个。但我认为不是每个数组都包含游戏。OP声明“总是有一个子数组叫做‘游戏’”@MarkoMackic,我就是这样解释的。当然我可能弄错了。
$count = 0;
foreach ($array as $item) {
    if (is_array($item) && count(item) > 0){
        foreach ($item as $key => $subitem) {
            if ($key != 'games'){
               $count++;
            }
        }
    }
}

if ($count > 0){
  //your array is valid
}