Autor Zpráva
Ondřej Pohorský
Profil *
Dobrý den,

chěl bych se zeptat, zda lze nějak elegantně získat počet prvků pole, jejichž jeden parametr odpovídá určité hodnotě. Uvedo na příkladu:

$arr[] = array(value1 => 1, value2 => 1);
$arr[] = array(value1 => 0, value2 => 1);
$arr[] = array(value1 => 0, value2 => 1);
$arr[] = array(value1 => 1, value2 => 0);

a potrebuji zjistit pocet prvku pole $arr, ve kterych je hodnota value1 = 1;
Prijde mi, ze delat to pres foreach a pricitani hodnoty nejake promenne neni idealni zpusob.

Dekuji,
Ondrej Pohorsky
karel
Profil *
Nevím, jestli to chápu správně, ale nepřepisuješ pořád jedno a to samé pole?
Karel
nightfish
Profil
karel
nepřepisuje... přidává do pole arr jako položky další pole

Ondřej Pohorský
zřejmě by to šlo přes array_filter
vytvořit si funkci, která vrátí true v případě, že prvek pole obsahuje požadovanou hodnotu
a pak na výsledné pole zavolat count()
Ondřej Pohorský
Profil *
nightish
to zni zajimave, a urcite je to jedno z tech elegantnich reseni, ktere hledam. Diky za tip!
nightfish
Profil
nicméně tohle mi příjde jednodušší (i když pravda, ne tak čitelné)

$i = 0;
foreach ($arr as $value) if ($value["value1"] == 1) $i++;
Ondřej Pohorský
Profil *
to je to reseni, o nemz mluvim uz v prvnim spotu, tedy foreahc a pricitani hodnoty. puvodne jsem myslel, ze na to bude existovat nejaka funkce, tak jsem toto reseni zavrhl
Toto téma je uzamčeno. Odpověď nelze zaslat.

0