Autor Zpráva
palko
Profil *
Dobrý večer, mám tento kód a potrbuji aby pokud nejaka hodnota je to vypsalo a pokud neni tak nic (else prazdne)
Nejspis mam chybu v if protoze i kdyz neco obsahuje nic se nestane
$objekty=$_GET["objekty"];
  if ($objekty >= 1) {
abc
Profil
palko:
if (count($objekty)>0){
palko
Profil *
díky ti
TomasJ
Profil
palko:
Proč začínáš psát s diakritikou a pak píše bez ní? Tvá formulace dotazu je příšerná. Nicméně pokud to chápu správně, chceš vypsat hodnotu toho $_GET['objekty']
Použij to takto:
$objekty = !empty($_GET['objekty'])?$_GET['objekty']:"";
if($objekty != "") {
echo $objekty; //Co se má stát...
}
Pokud nechceš nic dělat, když je $objekty prázdná, else vůbec nedávej, je zbytečné.
empty()
Zkontroluje, jestli je parametr $_GET['objekty'] nastavený v adrese a zároveň jestli je prázdný. Pokud je prázdný nebo neexistuje, funkce vrací true.
weroro
Profil
Nehcem robiť flame ale pre úplnosť sa chcem opýtať.
TomasJ:
Pokud je prázdný nebo neexistuje, funkce vrací true.
To znamená, že ak mám takýto zápis
index.php?premenna="" alebo index.php (bez definovanej premennej) je to považované za empty?
Ak áno, tak v akom prípade používame isset(), ktorý aj pri tomto index.php?premenna="" vrati true?
TomasJ
Profil
weroro:
Isset() se používá, pokud chceš otestovat, zda proměnná existuje.
Pokud adresa bude jen index.php, isset() vrátí false.
Dá se to použít v případě, kdy ti jen stačí jestli je proměnná definovaná a když její obsah může být 0.
Dostaneš-li otázku "Kolik máte dětí?" a ty odpovíš 0, isset() vrátí true a empty() taky. Proměnná je nastavená a splňuje podmínku isset() ovšem je nulová, tj. prázdná pro empty() - to navíc zkontroluje, zda je proměnná definovaná.
empty() používej tam, kde chceš, aby byla hodnota nenulová nebo string a zároveň chceš otestovat jestli je definovaná.
$proměnná = "abc";
if(isset($proměnná) && $proměnná) //je to samé jako
if(!empty($proměnná))
Snad jsem to vysvětlil správně.
weroro
Profil
Niečo obdobné som si aj myslel, len som to chcel "počuť" od niekoho povolanejšieho. Ďakujem

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