Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 6. diel - Podmienky v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Jiří Jeřábek (thechorcheecz):20.12.2013 16:38

Zdravím chcise zeptat proč nefunguje tohle?

$a = 10;
$b = 0;
$vysledek = $a / $b;
if ($b != 0)
{

        echo('Podíl: ' . $vysledek);
}
if ($b == 0)
        echo('Nulou nelze dělit!');

mluvím o tom $vysledek= $a / $b; proč nejde nadeklarovat napřed mezi proměnýma? proč se to dává až do toho if??

Avatar
mkub
Tvůrce
Avatar
Odpovedá na Jiří Jeřábek (thechorcheecz)
mkub:20.12.2013 16:43

lebo riadok

$vysledek = $a / $b;

vyhadzuje chybu delenia nulou, najprv treba otestovat, ci je $b rovne nule, pokial nie je rovne nule, az potom sa moze pristupit k deleniu, preto sa to dava az do podmieneneho bloku

Avatar
Odpovedá na mkub
Jiří Jeřábek (thechorcheecz):20.12.2013 16:48

to sice ano ale nebylo lepší to napřed nadeklarovat? a pak si to jen zavolat ? pro přehlednost né?

Avatar
mkub
Tvůrce
Avatar
Odpovedá na Jiří Jeřábek (thechorcheecz)
mkub:20.12.2013 17:11

myslis ako funkciu?
tak napr. takto:

$a = 10; $b = 0;
function delenie ($a, $b) {
  if ($b != 0) {
    return $a/$b;
  } else {
    return ("Nulou sa neda delit");
  }
}
echo (delenie ($a, $b));

dalsi priklad:

$a = 10; $b = 0;
function delenie ($a, $b) {
  return $a/$b;
}
if $b = 0 {
  echo (delenie ($a, $b));
} else {
  echo ("Nulou sa neda delit");
}

cize vyraz $vysledok = $a / $b musi byt uzatvoreny v podmienke, lebo PHP ak nenatrafi na podmienku, vyhodnocuje kazdy jeden vyraz a tento vyraz pri $b=0 vyhodnoti ako chybu

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Jiří Jeřábek (thechorcheecz)
Kit:20.12.2013 18:20

Dávám přednost výjimkám:

function deleni ($a, $b) {
    if ($b == 0)
        throw new Exception('Nulou nelze dělit');
    return $a/$b;
}

$a = 10;
$b = 0;
echo (deleni($a, $b));
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
studnicka.ji
Člen
Avatar
studnicka.ji:23.12.2013 23:33

jenom u té první ukázky if nemělo by to být špiš tahle

if (15 > 20)
{
    echo('Pravda');
}
 echo('<br />Program zde pokračuje dál.');

mě to jinak hází chybu

Avatar
Kit
Tvůrce
Avatar
Odpovedá na studnicka.ji
Kit:23.12.2013 23:39

Kromě páru závorek navíc v tom nevidím rozdíl. Asi máš něco špatně, protože mně to chybu nehází.

Co vlastně znamená "mě to jinak hází chybu"? Nějak té větě nerozumím.

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
studnicka.ji
Člen
Avatar
studnicka.ji:24.12.2013 8:37

nwm ted mi to jde taky, tak nevím asi jsem včera večer něco přehlídl, ráno modřejší večera, včera jesm tu byl do 1 večer

Avatar
studnicka.ji
Člen
Avatar
studnicka.ji:24.12.2013 15:53

fakt nevím kde mám chybu a prohlížeč mi hlásí: https://imageshack.com/i/5k3cfp

$a = $_POST["cislo1"];
$b = $_POST["cislo2"];
$operace = $_POST["operace"];

if ($operace == "scitani")
    $vysledek = $a + $b;
else if ($operace == "odcitani")
    $vysledek = $a - $b;
else if ($operace == "nasobeni")
    $vysledek = $a * $b;
else if  ($operace == "deleni")
{
      if ($b != 0)
          $vysledek = $a / $b;
      else
          $vysledek=("Nulou nelze dělit");
}

echo("Výsledek: $vysledek");
Editované
Avatar
Odpovedá na studnicka.ji
Matúš Petrofčík:24.12.2013 16:08

osetril si vstup, že ak nebude poslané cislo1, cislo2 alebo operace, aby sa kod nevykonal? :)

Odpovedať
obsah kocky = r^2 ... a preto vlak drnká
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 97.