NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 7 - Podmínky v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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??

 
Odpovědět
20.12.2013 16:38
Avatar
mkub
Tvůrce
Avatar
Odpovídá 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

 
Odpovědět
20.12.2013 16:43
Avatar
Odpovídá 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é?

 
Odpovědět
20.12.2013 16:48
Avatar
mkub
Tvůrce
Avatar
Odpovídá 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

 
Odpovědět
20.12.2013 17:11
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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));
Odpovědět
20.12.2013 18:20
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

 
Odpovědět
23.12.2013 23:33
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Editováno 23.12.2013 23:40
Odpovědět
23.12.2013 23:39
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

 
Odpovědět
24.12.2013 8:37
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");
Editováno 24.12.2013 15:54
 
Odpovědět
24.12.2013 15:53
Avatar
Odpovídá 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? :)

Odpovědět
24.12.2013 16:08
obsah kocky = r^2 ... a preto vlak drnká
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 97.