Autor Zpráva
Blah
Profil *
Zdravím,

měl bych dotaz ohledně počtu prvků v poli. Dejme tomu, že mám pole o X položkách, který se v poli vyskytujou v různým počtu. Já bych potřeboval vybrat z tohoto pole deset nejpočetnějších a seřadit je sestupně podle hojnosti.

Nemůžu nějak přijít, jak docílit toho, aby se mi ty prvky správně sečetly a seřadily. Jinak prvky mají vždy stejný název (včetně velkých a malých písmen diakritiky či mezer). Poradíte prosím?
djlj
Profil
Asi bych to projel foreach (nebo podobnou funkcí) a do nového pole bych si ukládal ty hodnoty + jejich počet.
Blah
Profil *
a nějaká ukázka? Něco podobného jsme zkoušel, ale neúspěšně, tak počítám, že někde dělám něco špatně
Aleš Janda
Profil
Tak sem hoď to, co jsi zkoušel ;-)
Blah
Profil *
Aleš Janda: jé, tak to už nemám... Nefungovalo to, tak jsem to začal předělávat :( momentálně mám ty prvky z pole rozdělený pomocí explode na samostatný části. Pak jsem je sřadil pomocí sort podle abecedy a teď se snažím je nějak přinuti, aby se sečetly a posléze seřadili podle toho součtu...
tiso
Profil
napríklad takto:
$out=array_fill_keys(array_unique($in), 0);
foreach($in as $key => $val){$out[$val]+=1;}
arsort($out);
$out=array_slice($out, 0, 10);
Blah
Profil *
tak už jsem se přiblížil k cíli... Mám to sečtený a seřazený ve tvaru:

[polozka1] => 30
[polozka2] => 21
[polozka3] => 15
.
.
.
.
(po vykonání print_r($polozky);)

A já to teď potřebuju dostat do tvaru:

polozka1 (30)
polozka2 (20)
polozka3 (15)
BetaCam
Profil
foreach ($polozky AS $key => $val)
{
echo $key.'('.$val.')';
}
Blah
Profil *
BetaCam: no jasně, už mi to nemyslí... Díky moc všem, už mi to konečně funguje

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: