Ich habe Probleme damit, die eindeutigen Namen im Array zu zählen und mit einem bestimmten Wert im selben Array zu multiplizieren. Hier ist mein mehrdimensionales Array:
Array
(
[0] => Array
(
[id] => 001
[name] => Lamborgini
[quantity] => 1
[addon] => 1
)
[1] => Array
(
[id] => 002
[name] => Ferarri
[quantity] => 1
[addon] => 2
)
[2] => Array
(
[id] => 003
[name] => Lamborgini
[quantity] => 2
[addon] => 1
)
[3] => Array
(
[id] => 004
[name] => Ferarri
[quantity] => 8
[addon] => 2
)
[4] => Array
(
[id] => 005
[name] => Lamborgini
[quantity] => 2
[addon] => 2
)
)
Ich möchte die eindeutigen Namen und die Anzahl für jeden Namen zählen, also sollte das Ergebnis sein:
[Lamborgini] => 3
[Ferarri] => 9
Wenn ich benutze
$counts = array_count_values(array_column($array, 'name'));
Es werden nur die Nummern der einzigartigen Ferraris und Lamborginis gezählt, aber nicht die Anzahl zum Array hinzugefügt.
[Lamborgini] => 2
[Ferarri] => 2
Wie kann ich das lösen? Ich verwende PHP.
Danke, Misko
foreach
Schleifen Sie einfach Ihr Array durch und fügen Sie die relevanten Daten zu einem neuen Array hinzu:
$counts = array();
foreach ( $array as $item ) {
if (!isset($counts[$item['name']])) {
$counts[$item['name']] = $item['quantity'];
} else {
$counts[$item['name']] += $item['quantity'];
}
}
print_r($counts);
$array
ist der Name Ihres Arrays, $counts
ist ein Array, das die gezählten Ergebnisse enthält
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen