gleiche Werte mehrdimensionaler Arrays zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gleiche Werte mehrdimensionaler Arrays zählen

    Ich habe ein Array der Form:

    $array = array(
    array('a','b','c');
    array('e','f','c');
    array('h','g','a');
    );

    wie kann ich nun zählen wir oft jeder Buchstabe in $array vorkommt?
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)

  • #2
    PHP-Code:
    $matches=array();

    $array = array(
    array(
    'a','b','c'),
    array(
    'e','f','c'),
    array(
    'h','g','a')
    );

    foreach(
    $array as $a)
     foreach(
    $a as $value)
      isset(
    $matches[$value]) ? $matches[$value]++ : $matches[$value]=1;

    echo 
    '<pre>'.print_r($matchestrue).'</pre>'

    Kommentar


    • #3
      Ein paar Zeilen mehr, sicher auch nicht ganz so schnell und nur für PHP5, dafür aber für beliebig teif verschachtelte Arrays:
      PHP-Code:
      function count_array_values($array$val null) {
          if (!
      function_exists('_rec_count')) { function _rec_count($val$key, &$reg) { $reg[$val]++; } }
          
      $count = array();
          
      array_walk_recursive($array'_rec_count', &$count);
          return 
      $val ? (isset($count[$val]) ? $count[$val] : 0) : $count;
      }

      $array = array(
      array(
      'a','b','c'),
      array(
      'e','f','c'),
      array(
      'h','g','a')
      );

      print_r(count_array_values($array));
      print_r(count_array_values($array'a')); 
      Zuletzt geändert von onemorenerd; 13.02.2007, 08:38.

      Kommentar

      Lädt...
      X