如何计算有价值的输入?

时间:2014-01-30 07:17:29

标签: php forms input count submit

在我的代码中,当我们点击“确定”按钮时。它会回应3

我想申请只计算只有值

的输入

怎么办?

<?php
    if(isset($_POST["submit"]))
    {
     echo count($_POST["to_more"]);
    }
?>
<form name="f1" method="post">
<input type="text" name="to_more[]">
<input type="text" name="to_more[]">
<input type="text" name="to_more[]">
<input type="submit" name="submit" value="OK">
</form>

3 个答案:

答案 0 :(得分:2)

试试这个

<?php
    if(isset($_POST["submit"]))
    {
     echo count(array_filter($_POST["to_more"]));
    }
?>

答案 1 :(得分:1)

怎么样

if(isset($_POST["submit"])){
     $count = 0 ;
     foreach($_POST["to_more"] as $data){
                if($data != '') $count++;

     }
         if($count > 0)
                echo $count;
    }

答案 2 :(得分:0)

array_filter应该提供帮助

<?php
    $ar = isset($_POST["to_more"]) ? $_POST["to_more"] : array();
    $ar = array_filter($ar, function($el){ return !empty($el);});
    echo count($ar);
?>

应该比foreach更快,顺便说一句。

UPD:哦,看来,NLSaini发布了精确的解决方案,检查一下。