$_POST['ore']
我有一个表单,可以从选择框和文本输入字段的表中发送整数。有问题的数组是:
print_r($_POST)
//returns
Array
(
[ore] => Array
(
[0] => 1
[1] => 2
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
)
....
这就是它变得越来越大,它是一个小应用程序。10个选择框,10个输入框。表单本身和其他功能都很好用。
while
但是,在提交时,数据被发送到另一个页面,该页面处理收集的信息并基于count
该数组的循环生成一个新表。但是,我只想计算大于 0 的值,因为零在技术上是空的。
我尝试了多种功能、示例、碎片,也尝试了愚蠢的运气,但没有积极的结果。我已经得到了一些部分工作,但大多数时候他们忽略了最后一行。
我目前有size = count($_POST['ore']);
- 但是这会创建一个包含 10 行的表(应该如此),并用 while 代码的最后一个循环填充表中的其余行。实用,但烦人,不是我想做的。
我试过array_filter
function nonzero($var){
return ($var > 0); }
$size = array_filter($_POST['ore'], "nonzero");
没运气。
我if(isset($_POST['ore']))
在多个地方尝试过,但由于数组中有一个 0 值,所以它在技术上是设置的。
那么,如何计算或过滤然后计算 $_POST['ore'] 数组值以去除 0 并仅计算或返回大于 0 的键?
我的键盘,我提前谢谢你。
编辑 - 找到答案谢谢大家一大早的反馈
function nonzero($var){
return ($var > 0); }
$size = count(array_filter($_POST['ore'], "nonzero"));
^^ 做到了