How to count non-empty entries in a PHP array?

前端 未结 3 1229
Happy的楠姐
Happy的楠姐 2020-12-01 06:09

Consider:

[name] => Array ( [1] => name#1
                  [2] => name#2
                  [3] => name#3
                  [4] => name#4
             


        
3条回答
  •  旧巷少年郎
    2020-12-01 06:41

    You can use array_filter to only keep the values that are “truthy” in the array, like this:

    array_filter($array);
    

    If you explicitly want only non-empty, or if your filter function is more complex:

    array_filter($array, function($x) { return !empty($x); });
    # function(){} only works in in php >5.3, otherwise use create_function
    

    So, to count only non-empty items, the same way as if you called empty(item) on each of them:

    count(array_filter($array, function($x) { return !empty($x); }));
    

提交回复
热议问题