ugrás a tartalomhoz

Tömben előforduló elemek száma

Johnny · 2008. Már. 5. (Sze), 00.11
Sziasztok!

Van egy tömböm, ami ilyen adatokat tartalmaz:

Array
        (
            [0] => 0-1
            [1] => 0-1-1
            [2] => 0-2
            [3] => 0-3
            [4] => 0-3-1
            [5] => 0-3-1-1
            [6] => 0-2-1
            [7] => 0-1-2
        )
Meg kéne határoznom, hogy egy adott karakter sorozat hányszor fordul elő a tömb értékei között.
Pl: a 0-1* sorozat hány értéknél fordul elő. A fenti példában ezek az értékek a következők lennének:

           [0] => 0-1
           [1] => 0-1-1
           [7] => 0-1-2
Hogyan tudnám ezt a lehető legegyszerűbben és leggyorsabban meghatározni?
 
1

regexp, ciklus

zila · 2008. Már. 5. (Sze), 08.51
1. Egy ciklusban végigszaladsz a tömbön és egy regexppel vizsgálod az egyezőséget és számolod a találatokat.
2. Ha csak a darabszám kell, és nem túl nagy a tömb, akkor a tömböt stringgé alakítod valamilyen elválasztó karakterrel és a kapott stringen csinálsz egy preg_match_all-t
3. array_walk függvénnyel mész végig a tömbön, regexppel számolsz
2

array_unique

DsA · 2008. Már. 6. (Cs), 09.15
array_unique ?
ennek átadod a tömböt ez is egy tömbel tér visza és arra meg nyomsz egy count-ot
ha erre gondolsz... de szntem igen
3

asd

bagoly000 · 2008. Már. 7. (P), 01.07
Szerintem:

$tomb = array(0-1,0-1-1,0-2,0-3,0-3-1,0-3-1-1,0-2-1,0-1-2);
$kellene = 0-1;

$elofordulas = 0;

foreach( $tomb as $egy_elem ) {
//Minden egyes elemének végigjárása
  if( strstr( $egy_elem, $kellene ) ) {
    $elofordulas += 1; //Ha megtalálható, akkor változó értékének növelése.
  }
}

echo "A \"".$kellene."\" adat ".$elofordulas." -szor található meg.";