Autor Zpráva
Mufna
Profil
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
tak třeba
in_array($_GET["hodnota"], array(1,2,3))
Mufna
Profil
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
/^1|2|3$/

ale tady bych si už spíš vybral ten is_array() ...
Mufna
Profil
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
Stačí použít:
return in_array($val, $arr);
Nox
Profil
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));
}

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