Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 3. diel - Premenné a typový systém 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
Avatar
Dan Ma
Člen
Avatar
Dan Ma:28.7.2023 17:58

Kurz je pěkný. Konečně jsem zvládl 1. lekci. Snažím se k tomu číst i další materiály a tam jsem se dočetl, že konstantu lze ještě definovat pomocí klíčového slova const:
const JMENO_KONSTANTY = hodnota;
Pro zajímavost jsem si dohledal předdefinovanou konstantu pro číslo $pi = M_PI;
Zobrazí to potom krásnou hodnotu: 3.1415926535898 😃

Odpovedať
+2
28.7.2023 17:58
Nenechat se vyděsit.
Avatar
Lukáš Halamka:9.8.2024 7:19

Nefunguje audio verze . Jinak zatím vše vysvětleno dobře

 
Odpovedať
9.8.2024 7:19
Avatar
sahlepik
Člen
Avatar
sahlepik:10.8.2024 14:56

Rád bych se zeptal na datový typ float a double. V článku se píše, že v PHP jsou oba dva rovnocenné. Pokud si dobře pamatuji, float vždy označoval datový typ čísla uloženého v pohyblivé řádové čárce s jednoduchou pameti (32 bitů) a double totéž s dvojitou přesností (64 bitů). V PHP je to tedy jinak? Kolik bitů tedy číslo v paměti zabere? Děkuji, rád bych v tom měl jasno 🙂

Editované 10.8.2024 14:57
 
Odpovedať
10.8.2024 14:56
Avatar
DarkCoder
Člen
Avatar
Odpovedá na sahlepik
DarkCoder:10.8.2024 15:27

Interně jsou oba typy reprezentovány stejně. Oba odpovídají standardnímu formátu IEEE 754 pro čísla s plovoucí desetinnou čárkou, který se používá pro 64bitové double-precision čísla.

Typ double je historicky pojmenovaný termín, který se v PHP používal dříve. Od PHP 4 se však standardizovalo používání názvu float.

V moderním PHP (verze 7 a novější) se oficiálně používá pouze typ float. Typ double je synonymem pro float, ale jeho použití se nedoporučuje, protože je to zastaralý termín.

Odpovedať
10.8.2024 15:27
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
sahlepik
Člen
Avatar
Odpovedá na DarkCoder
sahlepik:10.8.2024 15:58

Aha, děkuji za objasnění. V rámci standardu IEEE 754 jsem měl právě dojem, že typ foat reprezentuje zápis reálného čísla v pohyblivé řádové čárce s jednoduchou přesností (32 bitů v paměti).

Editované 10.8.2024 15:59
 
Odpovedať
10.8.2024 15:58
Avatar
DarkCoder
Člen
Avatar
Odpovedá na sahlepik
DarkCoder:10.8.2024 16:04

IEEE 754
Jinak řečeno, pouzivej pouze typ float 🙂

Odpovedať
10.8.2024 16:04
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Míša T.
Člen
Avatar
Míša T.:15. marca 12:04

Ahoj, u tý konstanty mi nejde zapsat ten řádek echo, píšu:
echo "Verze aplikace: . VERZE";
ale chrome hlásí error. Zkoušela jsem to slovo verze psát bez tečky, s tečkou, s mezerou i bez, místo uvozovek i závorky dle předlohy (ale závorky nevím proč nefungují, tak jsem se vrátila k uvozovkám), ale nic nefunguje. Vysvětlení, proč je tam zapsaná tečka s mezerou v tom příkladu nikde není a tím, že mě to nefunguje, tak jsem to nepochopila. Jak to tedy správně zapsat do toho kodu?
já to vidím, že to slovo verze není bílý, ale zelený, takže mi to echo napíše jako Verze aplikace: VERZE, což bych i z toho kodu chápala, jako dobře, ale jak jinak to zapsat, aby tam teda bylo to číslo? Děkuji

 
Odpovedať
15. marca 12:04
Avatar
Jan Poláček
Tvůrce
Avatar
Odpovedá na Míša T.
Jan Poláček:15. marca 14:11

Ahoj, je to tím, že tu konstantu máš napsanou v těch uvozovkách, takže funkce echo to bere jako string(řetězec) a nenahradí tou konstantou.

define("VERZE","1.0");
echo "Verze aplikace je: ".VERZE;
echo "Nejnovější verze ".VERZE." umožňuje XYZ";

Takto by to mělo být funkční, tečka spojuje řetězec (ten je právě v uvozovkách) s konstantou.
Přidal jsem ještě jeden řádek pro ukázku konstanty někde uprostřed, opět tedy tečka spojuje a mezitím jsou dva řetězce. Místo konstanty tam samozřejmě může být i proměnná (ona jednoduchá proměnná se dosadí automaticky i přímo v rámci řetězce, ale například u pole tam ten spojovač bude. Jednoduchá proměnná je např. $promenna a pole je $pole["prvek"]
Snad je to dostatečné :)

Odpovedať
+1
15. marca 14:11
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
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é 8 správy z 88.