2014-05-10 115 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'], 
...