2014-05-10 71 views
0

我有一个数组数组,当提交表单时会填充数组。如何检查具有键和值的数组是否为空

$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'] 
    ) 
); 

如果所有字段都为空,是否有方法检查值是否为空?

我读了别的地方,你可以尝试这样做。我想这对1维数组是有效的。 无论如何在2d数组中做到这一点?如果你们能告诉我如何做到这一点,那将是真棒

预先感谢您。

+1

结合array_walk()与array_filter() –

+0

也许考虑计数(),以及以统计内容阵列。示例if(count($ groceries)> 0){echo“My groceries array have something!”;} – UserProg

回答

1

首先,你可以使用<input type="text" name="cabbageQTY" required>。然后用户不能留下空白。如果它不适合你,你可以尝试同时查找所有帖子,如果它们为空或不是。

foreach ($_POST as $key => $value) 
    if $value==(null) echo $key.' value is null'; 
0

我不确定这个问题是否完全解释。如果这只是从POST表单填充,那么不存在NULL,它们应该以空字符串的形式存在。如果你想保存一个空字符串文本,如“空”,那么也许做这样的事情:

$blank = "Empty"; 
... 
"Ground Beef, lb(s)" => $_POST['groundBeefQTY'] == "" ? $blank : $_POST['groundBeefQTY'], 
...