繁体   English   中英

PHP计算数组的非空值的数量

[英]PHP count the amount of not empty values of array

我有这个数组:

$auflistung = array ($_POST['jacken'], $_POST['hosen'], $_POST['oberteil'], $_POST['tasche'], $_POST['schuhe'], $_POST['accessoireschmuck1'], $_POST['accessoireschmuck2'], $_POST['accessoireschmuck3'], $_POST['accessoireschmuck4'], $_POST['accessoireschmuck5'], $_POST['accessoireschmuck6']);

它包含例如:

array(11) {
  [0]=>      string(10) "1288023365"
  [1]=>      string(10) "1246154493"
  [2]=>      string(0) ""
  [3]=>      string(10) "1293143681"
  [4]=>      string(10) "1293143242"
  [5]=>      string(0) ""
  [6]=>      string(0) ""
  [7]=>      string(0) ""
  [8]=>      string(0) ""
  [9]=>      string(0) ""
  [10]=>     string(0) ""
}

现在,我需要大量的可用值。 在这种情况下4

我试过了:echo count($ auflistung); 但是结果包括所有空值,所以11.有什么想法吗?

使用array_filter迭代每个值。 如果不提供回调,则将删除任何值== false的键。 对于PHP,Empty足够接近false。

echo count(array_filter($auflistung));

ZombieHunter对于从非空值创建数组非常有帮助。 这是一种干净的方法。

$keys=array(
    'jacken', 
    'hosen', 
    'oberteil', 
    'tasche', 
    'schuhe', 
    'accessoireschmuck1', 
    'accessoireschmuck2', 
    'accessoireschmuck3', 
    'accessoireschmuck4', 
    'accessoireschmuck5', 
);

$auflistung=array();
foreach ($keys as $key){
    if (isset($_POST[$key]) && !empty($_POST[$key])) $auflistung[]=$_POST[$key];
}

echo count($auflistung);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM