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 8 - Podmínky v PHP podruhé - přetypování, skládání a switch

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
Snorlax
Tvůrce
Avatar
Snorlax:4.10.2013 19:26

možná by stálo i za zmínku že místo || a && se dá použít i or a and. dokonce je i mezi nima nějaká hierarchie (|| má vyšší hodnotu než or, nebo naopak, už si to nepamatuju bže používám jen or, and a závorky k tomu )

Odpovědět
4.10.2013 19:26
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
relycanx
Člen
Avatar
relycanx:16.11.2013 16:45

Existuje i typ otázek, který se vyloženě ptá, zda-li proměnná obsahuje číslo, nebo řetězec? :)

 
Odpovědět
16.11.2013 16:45
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na relycanx
Petr Nymsa:16.11.2013 17:04

myslím že hledáš is_numeric / is_string

Odpovědět
16.11.2013 17:04
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
relycanx
Člen
Avatar
Odpovídá na Petr Nymsa
relycanx:17.11.2013 2:03

jojo, to je ono, děkuju :) už jsem se dogooglil

 
Odpovědět
17.11.2013 2:03
Avatar
Jan Demel
Tvůrce
Avatar
Jan Demel:27.12.2013 14:53

Čus lidi. Mám takový problém. Řekl jsem si, že se vrhnu do PHPčka no ale v momentě, kdy tohle otevřu v mém prohlížeči a ukáže se mi konečné echo s výsledkem, tak tam je špatné kódování a ukáže se mi "VĂ˝sledek" ... Prosímvás pomohli by jste mi, co s tím mám dělat ? V editoru (Notepad++) mám nastevené kódování na UTF-8 v prohlížeči také a na HTML taky ... Tak vážně nevím, kde je problém.

index.php

<!DOCTYPE html>
<html>
        <head>
                <title>První test</title>
                <meta charset="UTF-8">
        </head>
        <body>
                <form method="POST" action="odesli.php">
                        <input type="text" name="cislo1"><br>
                        <input type="text" name="cislo2"><br>
                        <select name="moznost">
                                <option>Sečti</option>
                                <option>Odečti</option>
                                <option>Vynásob</option>
                                <option>Vyděl</option>
                        </select>
                        <input type="submit" value="Odešli">
                </form>
        </body>
</html>

odesli.php

<?php
mb_http_output( "UTF-8" );
$cislo1 = $_POST["cislo1"];
$cislo2 = $_POST["cislo2"];
$moznost = $_POST["moznost"];


$vysledek = 0;

switch($moznost)
{
        case 'Sečti':
                $vysledek = $cislo1 + $cislo2;
                break;
        case 'Odečti':
                $vysledek = $cislo1 - $cislo2;
                break;
        case 'Vynásob':
                $vysledek = $cislo1 * $cislo2;
                break;
        case 'Vyděl':
                $vysledek = $cislo1 / $cislo2;
}

echo("<h3>Výsledek je: $vysledek</h3>");
?>
Odpovědět
27.12.2013 14:53
To co se zdá být nemožné, je vždy možné.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Demel
Kit:27.12.2013 15:05

Zkus to tomu prohlížeči říct:

<?php
header('Content-Type: text/html; charset=UTF-8');
Odpovědět
27.12.2013 15:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Demel
Tvůrce
Avatar
Odpovídá na Kit
Jan Demel:27.12.2013 15:11

Funguje. Děkuju :)

Odpovědět
27.12.2013 15:11
To co se zdá být nemožné, je vždy možné.
Avatar
asanos
Člen
Avatar
asanos:8.10.2014 14:25

Chtěl bych upozornit na problém s && a AND ... Kdy jak už bylo zmíněno, každá má jinou prioritu.
Nedávno jsem řešil problém s menší úlohou a pokoušel jsem se o co nejrychlejší zápis (úloha byla časově omezená).

Velmi zjednodušeně jsem se dostal k:

$a=true;
$b=false;
// $c=$a AND $b;
$c=$a && $b;

Kdy při operátoru AND se provedlo přiřazení a výsledek byl tudíž TRUE,
zatímco && fungoval dle očekávání a vrátil se mi výsledek porovnání => FALSE.
_____________
Tento kód slouží jako ukázka takhle proboha neprogramujte!!! :D

Editováno 8.10.2014 14:25
Odpovědět
8.10.2014 14:25
Na světě je 10 typů lidí. Ti, kteří rozumí binárce a ti co nerozumí.
Avatar
Rasťo Suchovský:25.1.2016 23:54

asanos, trošku som testoval (asi 5 minút), a dospel som k tomuto:

$e = true and false;
$f = true && false;
echo("<br />E = $e<br />F = $f");
$g = false and true;
$h = false && true;
echo("<br />G = $g<br />H = $h");

E = 1
F =
G =
H =

 
Odpovědět
25.1.2016 23:54
Avatar
Rasťo Suchovský:26.1.2016 0:19

asanos, už som to pochopil.

$a = true && false;    //false
$b = true and false;   //true

Je to preto, lebo operátor 'and' má nižšiu prioritu ako operátor '=' (a '=' má nižšiu prioritu ako '&&')

Takže druhý riadok môžeme zapísať takto:

($b = true) and false;

To znamená, že do $b sa uloží hodnota 'true' a potom sa vykoná "($b = true) and false", ktoré sa už neukladá nikam (teda aspoň som to tak pochopil).

To isté funguje aj pri '||' a 'or', keďže operátor 'or' má nižšiu prioritu ako operátor '=' (a '=' má nižšiu prioritu ako '||')

$a = false || true;    //true
$b = false or true;   //false

lebo

($b = false) or true;   //false

;)
Toto som sa práve naučil. :)

 
Odpovědět
26.1.2016 0:19
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 23.