NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Scitani prvku v poli

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:11.5.2016 18:36

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
Neaktivní uživatelský účet
Avatar
Dominik Klapuch:11.5.2016 18:49

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
11.5.2016 18:49
Kód a data patří k sobě.
Avatar
Odpovídá na Dominik Klapuch
Neaktivní uživatel:12.5.2016 11:24

Díky, vyzkouším :)

Nahoru Odpovědět
12.5.2016 11:24
Neaktivní uživatelský účet
Avatar
Michal
Člen
Avatar
Michal:4.6.2016 22:33

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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
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.