我有一张表格,最终我想根据提交的值计算百分比。 我遇到的问题是某些答案可能被标记为n / a,因此我需要能够仅计算具有数据的字段总数(0表示失败,1表示通过)。我使用空字符串作为n / a答案,如下面的代码所示。我是php的新手,所以想知道最好的方法是什么。有没有办法计算提交的空字符串的数量,或者只计算提交的包含数据的字符串总数?
<label>
<input type="radio" name="item1" value="">N/A
</label>
<label>
<input type="radio" name="item1" value="0">Fail
</label>
<label>
<input type="radio" name="item1" value="1">Pass
</label>
答案 0 :(得分:1)
要回答您的问题,您可以过滤数组,删除空字符串,然后计算项目数。如果将其与原始数组中的项目数进行比较,则可以知道有多少空字符串。你可以为你想要衡量的任何价值做到这一点。
$filtered = array_filter($original, function($el) {
// check for empty strings as 0 for example is a valid value
return $el !== '';
});
var_dump(count($original) - count($filtered));
但是,对于表单,您必须查看是否可以使用它,因为我通常会验证各个字段。
答案 1 :(得分:0)
当然 - 在提交表单时,您可以处理$_POST
数组 - 在此示例中使用带有自定义回调的array_filter
。
function countempty($value){
/*return empty( $value );*/
return $value=='';
}
$empty=count( array_filter( $_POST, 'countempty' ) );
echo 'Empty: '.$empty;