我有平日一个PHP数组,通过表单提交,我得到额外的数据,但我想验证这个数组,所以如果数组为空时要显示的消息,我的问题总有一个子阵列称为“游戏“,所以主阵列从不空置。我怎么能忽略它们?PHP验证数组与子数组?
“空” 阵列结构是这样的:
“monday' = ['games' = [1, 2, 3, 'game_off']],
我有平日一个PHP数组,通过表单提交,我得到额外的数据,但我想验证这个数组,所以如果数组为空时要显示的消息,我的问题总有一个子阵列称为“游戏“,所以主阵列从不空置。我怎么能忽略它们?PHP验证数组与子数组?
“空” 阵列结构是这样的:
“monday' = ['games' = [1, 2, 3, 'game_off']],
迭代阵列和计数的每一天的值。由于总是会有的“游戏”的一个值,然后再寻找数< 2.如果发现有异常,那么该项目只包含“游戏”,你的阵列是无效的。
$valid = true;
foreach ($array as $day => $values) {
if (count($values) < 2) {
$valid = false;
break;
}
}
这将确认每天有除了“游戏”的东西。如果您需要验证任何一天有除了“游戏”的东西,那么逻辑是相反的。
$valid = false;
foreach ($array as $day => $values) {
if (count($values) > 1) {
$valid = true;
break;
}
}
呀,至少两个。 '游戏'+其他任何东西至少有两个。 –
但不是每个数组包含游戏,我认为。 –
的OP状态_“总有一个子阵列称为‘游戏’” _ –
你可以走进阵列并计数:
$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
}
请上传文字和图片不那么 – RiggsFolly
真的,你想验证游戏子阵列是不是空的?或者除了应该在周日名称键下的游戏,还有其他的东西吗? –
@ Don'tPanic我想忽略“游戏”阵列,监守他总是可用的,如果只有“游戏”阵列,这是错误,是有一些新的东西,然后它是正确的 – nowilius