PHP подсчитывает количество непустых значений массива

У меня есть этот массив:

$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, будет удален. Пустой достаточно близок к false для PHP.

 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);