Keresés

Új hozzászólás Aktív témák

  • Speeedfire

    félisten

    válasz Entrecampos #9138 üzenetére

    Összesen kb 100 keresési feltétel van, erre most mindre írjam meg az if-elseif-else ágat? Vagy a switch-case szerkezetet? Hát...köszi, de nem. :D

  • Sk8erPeter

    nagyúr

    válasz Entrecampos #9138 üzenetére

    "nagyon túl bonyolítsátok a dolgokat"
    Nekem meg nem bánTSa és nem is hasogaSSa a fülemet... :DD
    Jó kezdés volt. ;]

    A tömbös elrendezés valóban véletlenül maradt benne, és azért, mert ezt ollóztam egy korábban általam készített, formelem-klónozós scripthez tartozó markupból:
    http://jsfiddle.net/Sk8erPeter/RqYYj/
    Ha klónozod az elemeket, jobban jársz, ha nem írod felül az előző elemet, hanem lehetővé teszed, hogy a klónozott elemek is láthatók legyenek szerveroldalon... :U Valószínűleg nem azért klónozod, mert a korábbi formelemek értékét el szeretnéd veszíteni.
    Ha pedig ezáltal egy tömb keletkezik szerveroldalon, azt egy tömbbel be kell járni. Ez aztán rendkívül bonyolult. :N
    Egyébként ez a szögletes zárójeles megoldás annyit módosít a korábban írt példámon, hogy szerveroldalon nem ezt látod a $_POST-ban:
    array (
    'form_elem_select' => '- semmi -',
    )

    hanem ezt:
    array (
    'form_elem_select' =>
    array (
    0 => '- semmi -',
    ),
    )

    Az, hogy ez plusz terheléseket róna a szerverre, az egyszerűen baromság. Ha a ciklus egyetlen lépés után megáll, mert mindössze egyetlen elem található benne, akkor ez nem jelent semmiféle plusz terhelést (az, hogy mondjuk egy, a ciklus léptetéséhez felhasznált változó indexét megnöveli eggyel, talán ne vegyük a releváns "terhelés" és időtöbblet kategóriájába). Cserébe felkészülsz arra az esetre is, ha valóban több elem létezik a tömbben.
    A szögletes zárójelekkel tudod jelezni jelen esetben a PHP felé, hogy itt egy tömb következik, kezelje is annak megfelelően.

    A tömbös megoldással nincs semmi baj. Nem muszáj alkalmazni, de nyugodtan lehet. Anélkül és vele is jól működő megoldásokat lehet összehozni.
    Ha az én mondókám nem is volt számodra meggyőző, akkor példának hadd hozzam fel, hogy a Drupal előszeretettel alkalmazza a Form API-jában a mezők tömbalapú generálását. Biztos azért csinálták így, mert nem értenek hozzá... :)

    Szerk.: Egyébként kilencmillió soros if-elseif-elseif-elseif-elseif...-else megoldások helyett létezik switch-case is. Meg céltól függ, milyen ellenőrzésre van szükséged, egyáltalán mit szeretnél csinálni a kapott adatokkal.

Új hozzászólás Aktív témák

Hirdetés