Avatar
BlugW
Redaktor
Avatar
BlugW:

Hoj,

mam takto array:

array(1,1,1,2,2,3,1,2,4,3,3,3,5);

A potreboval bych nejak zjistit, kolik x se objevuje jednotlivy prvek v poli.
napr. 1 se tam objevuje 4x, 2 zase 3x, atd..

Zrovna me nenapada jak to udelat. :(
Dokaze nekdo poradit?

Diky

Odpovědět 11.5.2016 18:36
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Dominik Klapuch:

Ahoj, zkus tohle:

$pole = array(1,1,1,2,2,3,1,2,4,3,3,3,5);
$soucet = [];
foreach($pole as $cislo) {
    if(isset($soucet[$cislo]))
        ++$soucet[$cislo];
    else
        $soucet[$cislo] = 1;
}

var_dump($soucet);

V klíči najdeš dané číslo a hodnota je počet výskytů

Nahoru Odpovědět  +3 11.5.2016 18:49
Kód a data patří k sobě.
Avatar
BlugW
Redaktor
Avatar
Nahoru Odpovědět 12.5.2016 11:24
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Michal Struna:

Ahoj, jenom dodám, že v PHP je pro tento účel už zabudovaná funkce array_count_va­lues().

$pole = array(1,1,1,2,2,3,1,2,4,3,3,3,5);
print_r(array_count_values($pole));

Výsledkem bude to samé, co v předchozím případě - asociativní pole, kde klíčem je hledaný znak a hodnotou počet znaků v původním poli:

Array (
[1] => 4
[2] => 3
[3] => 4
[4] => 1
[5] => 1
)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 4.6.2016 22:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.