Portál AbcLinuxu, 29. dubna 2024 21:27


Dotaz: PHP - Jak nacist polozky z pole

2.10.2013 14:56 Marek
PHP - Jak nacist polozky z pole
Přečteno: 322×
Odpovědět | Admin
Dobry den, poradi mi prosim nejaky programator, jak bych mohl z pole nacist polozky kdyz prvek "bar" ma hodnotu "1" ? Zkousel jsem to pomoci foreach ale vubec mi to nejde. Strasne moc dekuji za pomoc.
$a = array('fooa' => array('bar' => 0, 'act' => 1, 'ber' => 8),
           'foob' => array('bar' => 0, 'act' => 1, 'ber' => 8),
           'fooc' => array('bar' => 1, 'act' => 1, 'ber' => 7),
           'food' => array('bar' => 1, 'act' => 1, 'ber' => 1)
);
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Tarmaq avatar 2.10.2013 15:11 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
Odpovědět | | Sbalit | Link | Blokovat | Admin
$a = array('fooa' => array('bar' => 0, 'act' => 1, 'ber' => 8),
           'foob' => array('bar' => 0, 'act' => 1, 'ber' => 8),
           'fooc' => array('bar' => 1, 'act' => 1, 'ber' => 7),
           'food' => array('bar' => 1, 'act' => 1, 'ber' => 1)
);
$filtered = array_filter($a, function ($item)
{
    return $item['bar'] == 1;
});
Don't panic!
2.10.2013 16:26 Marek
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
Díky moc, a nějaká jiná možnost? Tomuhle řešení absolutně nerozumím..
Tarmaq avatar 2.10.2013 16:43 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
Stejneho vysledku je mozne docilit take prochazenim pole foreachem:
$filtered = array();
foreach ($a as $key => $val) {
    if ($val['bar'] == 1) {
        $filtered[$key] = $val;
    }
}
array_filter mi ale prijde cistsi/prehlednejsi. Pokud necemu nerozumis, je dobre se nejdrive podivat na dokumentaci a az pote se ptat v nejakem foru.
Don't panic!
2.10.2013 17:07 Marek
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
Díky moc, ale ani tahle moznost mi nic nevypisuje :-(
2.10.2013 17:18 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
a jsi si jisty, ze uvedeny priklad je spravny? posli sem kod, ktery ti nefunguje
Tarmaq avatar 2.10.2013 17:24 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: PHP - Jak nacist polozky z pole
Tak on ten kod zadne vypisovani neobsahuje, jen naplni pole $filtered prvky, ktere maji 'bar' == 1. Pokud chces obsah pole vypsat, pouzij treba var_dump() nebo print_r()
Don't panic!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.