Tom: in einem mehrdimensionalen Array Count auf einen bestimmten Wert

Beitrag lesen

Hello,

War das eine Scherzfrage?

Uhi das klingt schon wieder kompliziert. Ich versuche mich mal an einer Beschreibung. Also ich habe ein Array $result. $result ist mehrdimensional.

Beispiel:~~~php

$result = array(
                 array( 'TIR', 'Tires', 2 ),
                 array( 'OIL', 'Oil', 10 ),
                 array( 'SPK', 'Spark Plugs', 2 )
                 array( 'OIL', 'Oil', 10 ),
                 array( 'SPK', 'Spark Plu', 2 )
                 array( 'OIL', 'O', 10 ),
                 array( 'SPK', 'Spark Pl', 2 )
               );


>   
> Ich habe nun die Frage, wie oft kommt an der $result[X][3] zb. die Zahl 2 vor. (X Steht für den Zähler im Array) In diesem Beispiel sollte das Ergebnis 4 lauten.  
  
Das Unterarray hat überhaupt keine Elemente mit dem Index [3]!  
  
  
  
  
  
  
Wenn Du solche Arrays aufbauen willst, um damit zu arbeiten (addieren, zählen, Mittelwert bilden, ...), dann bau sie anders herum auf.  
  
$\_result = array();  
  
$\_result['abbr']  = array();  
$\_result['descr'] = array();  
$\_result['qtty']  = array();  
  
$\_result['abbr'][1] = 'TIR';   ## Ich fange hier jetzt mal bewusst bei 1 an zu zählen  
$\_result['abbr'][2] = 'OIL';  
...  
  
$\_result['descr'][1] = 'Tires';  
$\_result['descr'][2] = 'Oil';  
...  
  
$\_result['qtty'][1]  = 2;  
$\_result['qtty'][2]  = 10;  
  
  
und siehe meinen angefangenen Artikel im Wiki dazu  
<http://wiki.selfhtml.org/wiki/Artikel:PHP/Arrays_mal_anders_herum>  
Dort findest Du universelle Funktionen, um dein satzorientiertes Array in ein spaltenorientiertes umzubauen.  
  
Anchließend kannst du mit den Spalten alle Berechnungen mit Standard-Arrayfunktionen von PHP durchführen.  
  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>