Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 5. 7. 2010, 23:03:37
Zdravím Vás. Tohle je asi jednoduché, tak se omlouvám, no neznám tak dobře vestavěné funkce PHP, abych si s tím poradil jednoduše (a složitě to dělat nechci, i když by to šlo). Potřebuji sestrojit jednoduchou funkci (nebo to může být přímo ve skriptu), která pouze zkontroluje, zda v $_GET["hodnota"] jsou pouze povolené hodnoty. V mém případě chci povolit pouze tři čísla (1,2,3). Poradťe prosím jak na to.
|
||
Nox Profil |
#2 · Zasláno: 5. 7. 2010, 23:04:59 · Upravil/a: Nox
tak třeba
in_array($_GET["hodnota"], array(1,2,3)) |
||
Mufna Profil |
#3 · Zasláno: 5. 7. 2010, 23:10:36
Nox
ok, díky. A jak bych to mohl udělat (správně) regulárem, když jsem si už mezitím sestavil tohle: function is_allowed_id ($val) { $re = ......... $match = preg_match($re,$val); return ($match ? true : false); } |
||
Nox Profil |
#4 · Zasláno: 5. 7. 2010, 23:28:50 · Upravil/a: Nox
/^1|2|3$/ ale tady bych si už spíš vybral ten is_array() ... |
||
Mufna Profil |
#5 · Zasláno: 6. 7. 2010, 00:06:26 · Upravil/a: Mufna
Nox
jj, díky ... a omlouvám se že jsem s tím otravoval, ten regulár je tady fakt zbytečnej. Nakonec jsem udělal funkci (s Vaší pomocí) a myslím že funguje bezvadně (a můžu si tam později ty čísla jednoduše změnit - přidat nebo odebrat): function is_allowed_id ($val) { $arr = array(1,2,3); return (in_array($val,$arr)) ? true : false; } Takže ještě jednou díky za pomoc. Problém vyřešen. |
||
Majkl578 Profil |
#6 · Zasláno: 6. 7. 2010, 00:57:48
Stačí použít:
return in_array($val, $arr); |
||
Nox Profil |
#7 · Zasláno: 6. 7. 2010, 01:02:02
a ta proměnná je nakonec taky navíc :)
takže jednořádkovka function is_allowed_id ($val) { return in_array($val, array(1,2,3)); } |
||
Časová prodleva: 14 let
|
0