我有平日一個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