考虑:
[name] => Array ( [1] => name#1 [2] => name#2 [3] => name#3 [4] => name#4 [5] => [6] => [7] => [8] => [9] => ) $name = $_POST['name']
我希望结果是4。
4
count ($name) = 9 count (isset($name)) = 1 count (!empty($name)) = 1
我认为最后一个可以满足我的需要,但不是(空条目来自表单上未填写的输入)。
您可以使用array_filter仅在数组中保留“真实”的值,如下所示:
array_filter($array);
如果您明确只希望non- empty,或者您的过滤器功能更复杂:
empty
array_filter($array, function($x) { return !empty($x); }); # function(){} only works in in php >5.3, otherwise use create_function
因此,仅计算非空项目,就像调用empty(item)每个空项目一样:
empty(item)
count(array_filter($array, function($x) { return !empty($x); }));