Anzahl von Werte in multidimensionalen Arrays summieren

Fragenfrager

Erfahrenes Mitglied
Hallo liebes Forum,

ich stehe vor folgendem Problem:
Aus einer Datenbank lese ich Datensätze aus, die folgendes Array ergeben:
PHP:
Array
(
[0] => 2423
[1] => 5
[2] => Haus I
[3] => 8
[4] => 81
[5] => 98
[6] => 14
[7] => 92
)
Wie oft diese Array ausgelesen wird, ist von Fall zu Fall unterschiedlich.
In den Elementen [4] bis [7] stehen Ziffern (die restlichen sind für das Problem irrelevant).
Es soll nun ermittelt werden, wie oft der jeweilige Wert vorhanden ist. Dabei ist es irrelevant, ob der Wert in [4],[5],[6] oder [7] steht.
Am Ende sollte herauskommen:
Wert 81: 4 mal vorhanden,
Wert 98: 2 mal vorhanden,
Wert 14: 25 mal ....

Ich bin für jeden Lösungsansatz (gerne auch fertige Lösungen) dankbar.
 
Ich würde es etwa so probieren, wobie $arr ein Array mit all deinen Arrays ist
PHP:
$all = array();
foreach($arr as $sub){
    list($v4, $v5, $v6, $v7) = array_slice($sub, 4, 4);   
    array_push($all, $v4, $v5, $v6, $v7);
}
$counts = array_count_values($all);
print_r($counts);
 
Ich würde aber nicht auf den numerischen Index setzen, sondern den Spaltennamen verwenden (fetch_assoc). Die numerischen Indizes haben den Nachteil, dass sich das alles schnell mal verschiebt.
 
Zurück