Array zusammen zählen?

styler2go

Erfahrenes Mitglied
Hallo,

ich melde mich mal wieder, weil ich nochmal Hilfe bräuchte.
Folgendes Problem habe ich:

Ich habe ein Array in dem bestimmte Genres drin sind. diese sollen nun aber zusammen gezählt werden.
Codeausschnitt:
Code:
while ($g = mysql_fetch_array($genre))
  {
    $gen[$g['id']][0] = $g['name'];
    $gen[$g['id']][1] = $g['genre1'];
    $gen[$g['id']][2] = $g['genre2'];
    $gen[$g['id']][3] = $g['genre3'];
  }

echo "<pre>" print_r($gen); echo "</pre>";

Wie zähl ich aber nun zusammen wie oft zbs. "Techno" insgesamt in genre1, 2 und 3 vorkommen?
Der Output sieht momentan so aus:

Code:
Array
(
    [1] => Array
        (
            [0] => XXX
            [1] => Techno
            [2] => Metal
            [3] => Rap
        )

)
 
Ich denke ja, diese FUnktion spuckt mir aber den Fehler

Code:
Warning:  array_count_values() [function.array-count-values]: Can only count STRING and INTEGER values! in C:\xampp\htdocs\star\user.php on line 59
aus. Wie kann ich denn mit PHP etwas zu String konvertieren? o.O
 
Sry, hilft mir grad kein bisschen weiter...


Edit: Ok, das hört sich nun an als würd ich mri alles in den A... schieben lassen wollen, so ist das nicht. Nur das was auf der Seite zu sehen ist hilft mir einfach nicht weiter, da alles schon String sein müsste weile s ja direkt aus der MySQL db ist. Hier nochmal der Codeausschnitt wie er jetzt ist:
PHP:
[...]
while ($g = mysql_fetch_array($genre))
  {
    $gen[$g['id']][1] = strval($g['genre1']);
    $gen[$g['id']][2] = strval($g['genre2']);
    $gen[$g['id']][3] = strval($g['genre3']);
  }
}
echo "<pre>";print_r(array_count_values($gen)); echo "</pre>";
 
Zuletzt bearbeitet:
Oben steht ja das du in einem Array ($gen) noch mehrere Arrays ($g) hast.

(wenn ich das jetz richtig verstanden hab)

Also kannst du die Funktion villeicht nur bei $g anwenden.
 
Ich hab keine ahnung. :D

Naja du könntest es dir doch einfach von Beiden einzeln ausgeben lassen
und dann zusammenrechnen.
 
Verstehe ich jetzt nicht...
von jedem einzeln machen, ja klar hatte ich auch schn hinbekommen, aber wie dann zusammenzählen...

Ok, ich habs nun soweit das sich nun 2 Arrays mit der Anzahl habe, wie zähle ich nun diese 3 Arrays zusammen?
 
Zuletzt bearbeitet:
Ich kanns nich erklären :D ich hoffe das Beispiel hilft:
PHP:
//irgentwelche arrays mit der anz.
$ar1 = array(
["techno"] => 1,
["metal"] => 2
)
$ar2 = array(
["techno"] => 3,
["metal"] => 1
)
// dann müsstest du ja eig. nur
$ar1["techno"] + $ar2["techno"]
//rechnen usw. ..
Hoffe das hat dir jetz geholfen :)
 
Zurück