Autor Zpráva
joe
Profil
Prosím o pomoc, nejedná se o nic složitého, ale už jsem se do toho zamotal. Koukám do toho dlouho a nevím co s tím. Potřeboval bych tedy poradit.
Mám pole, které může být buď
0 => array("prvni", 0),
1 => array("druhy", 1),
2 => array("treti", 1),
3 => array("ctvrty", 0),
4 => array("paty", 1),
5 => array("sesty", 0)

a nebo
"prvni" => 0,
"druhy" => 1,
"treti" => 1,
"ctvrty" => 0,
"paty" => 1,
"sesty" => 0

A teď potřebuju získat jen ty, které mají 1 a aby výsledkem bylo:
druhy x1
treti x2
paty x3

kde v xN je N index.
(druhy, treti a paty jsou klíčem v poli. xN je pořadí příslušného klíče jen těch, kde je 1)

Díky moc za pomoc.

EDIT:
Výsledek může být i:
druhy x3
treti x2
paty x1


tj., že indexy budou číslovány od nejvyššího po nejnižší.

---

Ještě bych doplnil, že počet položek v poli není předem známý.
nightfish
Profil
$pole = array("prvni" => 0, "druhy" => 1, "treti" => 1,
"ctvrty" => 0, "paty" => 1, "sesty" => 0);
$poleVysledek = array();
foreach ($pole as $k => $v) {
  if ($v == 1) $poleVysledek[] = $k;
}

foreach ($poleVysledek as $k => $v) {
  echo "$v -- $k<br>";
}
joe
Profil
nightfish
Děkuju moc, přesně to jsem potřeboval a nemohl jsem se z toho vymotat, měl jsem to prohozené i jinde, díky.

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:

0