Kan man lista ut hur många värden en array innehåller som INTE har värdet 0?
Count() räknar ju alla i en array men vill ha så den enbart skriver antalet som jag önskar ovan.
Array och count fast utan värde med 0?!?
2 svar · 447 visningar · startad av Asa
PHP har en hög strängfunktioner, t ex array_count_values. Du skulle t ex kunna göra:
$num_allkeys = count($minarray);
$stats = array_count_values($minarray);
$num_zerokeys = $stats[0];
$num_nonzerokeys = $num_allkeys - $num_zerokeys;
Går kanske att göra effektivare med någon annan array-funktion.
Dock har jag en känsla att det du vill göra går att lösa lättare på databasnivå.
Jag hade nog använt array_filter() istället, tillsammans med en callback-funktion. På så sätt är det enkelt att ändra implementationen (om man senare skulle vilja filtrera bort även värden med 1):
function applied_filter($value) {
return ($value > 0);
}
$my_array = array(4, 10, 2, 0, 12, 71, 0, 13);
$altered_array = array_filter($my_array, 'applied_filter');
/*
$altered_array = (4, 10, 2, 12, 71, 13);
*/