Autor Zpráva
brambor
Profil *
Dobry den mam 2 dotazy

1) Da se pole prenaset pres url ? Vim ze to jde serialiazaci ale jde to i jinak? neco jako ?stranka=array(1,6,20)

to asi ne co?

2) nekde jsem v url videl ?stranka=page[85] nebo i prazdne array jakoby
co to znamena?

DIK
Hugo
Profil
Nejjednodušší je asi použít serializaci a po přenosu deserializaci. Nemůžeš použít sessions?
nothrem
Profil
nejlépe přes session, pokud to nejde (externí link apod.), používám tohle:

http://www.neco.cz/?array=[1][2][3][4][...]


 if (isset($_GET['array'])):

preg_match_all('/\[([0-9]+)\]/', $_GET['array'], $array); //pro čísla, uprav dle požadavku


příklad použití: http://ati.nothrem.cz/?menu=faq&id=[1][5][7][12]
tohle používám ve fóru, když potřebuju dát odkaz na více otázek najednou ;-)
brambor
Profil *
Diky
brambor
Profil *
Safra nothreme to je sikovne ;)


http://www.neco.cz/?array=[1][2][3][4]

by pomoci tveho skriptu vytahne urcita cisla a treba tahkle bych to mohl tahat z DB

select * from clanky where id IN ( $array )

je to tak?
llook
Profil
PHP rozumí takovémuto zápisu: adresa?pole[index]=hodnota a případně i bez toho indexu: adresa?pole[]=1&pole[]=2&pole[]=3 (to pak vytvoří $_GET['pole'] = array(1,2,3)).

Občas se to používá u formulářů, zejména u vícenásobného výběru:
<select name="pole[]" multiple>
...
</select>
brambor
Profil *
muzu se zeptat, sel by nejak ten preg_match_all prevest na EREG? nejak m ito nejde
nothrem
Profil
preg_match_all prevest na EREG
Ne takováhle kouzla umí jen preg funkce; ereg jsou je takové zjednodušené pro ty co se nechtějí učit celé perl regulární výrazy.

ad DB: přesně tak to používam
brambor
Profil *
nothrem: sem si říkal :-) ze mi ereg echne jen prvni hodnotu z pole. Ach jo asi se zacnu ucit PREG syntaxi :/
llook
Profil
brambor
Většina výrazů se píše úplně stejně, akorát musí být ohraničeny. Takže třeba místo '^[a-zA-Z]+$' musíš napsat '~^[a-zA-Z]+$~' (nebo '/^[a-zA-Z]+$/' - je celkem jedno, jaký použiješ znak pro delimiter), místo ereg preg_match a místo ereg_replace preg_replace.
Pokud nechceš využívat toho, co má pcre oproti posixu navíc, tak toho učení tolik nebude.

Teď si akorát nejsem jistý, co bylo dřív - jestli POSIXové regulární výrazy nebo PCRE. Jestli to není naopak, že PCRE jsou takové vylepšené posixové.
brambor
Profil *
Ok juknu an to... vesmes asi to co mi ted chybi v Eregu je (preg_match_all)
James
Profil *
Zdravím, mám jeden dotaz ohledně ereg_replace. Řeším problém, jak dostat hodnotu z podvýrazu jako hodnotu pro identifikátor v poli. No raději připojím příklad pro názornost.

Mám nějaký takovýto výraz: ereg_replace("\[(.+)\]","$pole[\\1]", $text);

Najdu si číslo, třeba [1] a chci ho nahradit hodnotou pole[1], ale nejde to. Zkoušel jsem to různě escapovat, ale nepovedlo se mi to rozchodit. Nevíte někdo jak na to?

Předem moc díky..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0