我有一个在提交表单时填充的数组数组。
$groceries = array(
"Veggies" => array(
"Cabbage, ear(s)" => $_POST['cabbageQTY'],
"Carrots, bag(s)" => $_POST['carrotQTY'],
"Tomatoes, vine(s)" => $_POST['tomatoeQTY']
),
"Meats" => array(
"Ground Beef, lb(s)" => $_POST['groundBeefQTY'],
"Steak, lb(s)" => $_POST['steakQTY'],
"Pork, lb(s)" => $_POST['porkQTY']
),
"Desserts" => array(
"Ice Cream, gallon(s)" => $_POST['iceCreamQTY'],
"Jello, box(es)" => $_POST['jelloQTY'],
"Pie, box(es)" => $_POST['pieQTY']
)
);
如果所有字段都为空,是否有办法检查值是否为空?
我在其他地方读到你可以尝试这样做。
!array_filter($groceries)
但我认为这适用于1维阵列。 无论如何要在二维阵列中做到这一点?如果你们能告诉我如何做到这一点,那就太棒了
提前谢谢。
答案 0 :(得分:1)
首先,您可以使用<input type="text" name="cabbageQTY" required>
。然后用户不能将它们留空。如果它不适合你,你可以尝试同时查找所有帖子,如果它们是否为空。
foreach ($_POST as $key => $value)
if $value==(null) echo $key.' value is null';
答案 1 :(得分:0)
我不确定这个问题是否得到了充分解释。如果只是从表单POST填充,那么没有NULL,它们应该作为空字符串存在。如果你想保存一个空字符串文本,如“空”,那么可能会这样做:
$blank = "Empty";
...
"Ground Beef, lb(s)" => $_POST['groundBeefQTY'] == "" ? $blank : $_POST['groundBeefQTY'],
...