Devátý díl o PHP – Konstanty, výrazy, preinkrementace a postinkrementace

Když jsme řešili proměnné, jistě si vzpomenete, že každá proměnná má v kódu nějakou hodnotu, která se postupem v programu mění. Dnes se podíváme na Konstanty.

Konstanta je v podstatě proměnná, jen jak již název napovídá, tak se v průběhu programu nemění, je pořád stejná, viz:

<?

define („BROWSER“„Mozilla/5.0″);

echo „Váš prohlížeč je „ . BROWSER;

?>

Dobrým zvykem je psát konstanty velikými písmeny, tedy BROWSER je konstanta, ve které je uložen řetězec „Mozilla/5.0″. Každá konstanta se definuje slovem define a není před ní znak dolaru, dá se o ní říci, že je to výraz.

Výrazy

Výraz je vše, co má nějakou hodnotu, nemusí jít jen třeba o řetězec, prostě vše, co má hodnotu, například funkce, kterou jsme použili ve druhém díle tohoto seriálu, Time().

<?php

$sekundy = Time();

echo $sekundy;

?>

V tomto příkladu jsme volali funkci Time(), která je výraz, její hodnotu jsme přiřadili proměnné $sekundy a tuto proměnnou jsme následně potom vypsali. Pokud přiřadíme nějakou hodnotu proměnné, je to chápáno jako výraz a je chápáno jako příkazová hodnota.

Preinkrementace a postinkrementace

Ano, tyto dvě slova vypadají zvláštně, možná až děsivě, nicméně není čeho se bát, jedná se o mechanismus, při kterém výraz mění sebe, díky sám sobě. Uvedu dva příklady, které sice vrací stejnou hodnotu, ale jsou úplně jiné a později to rozvedu.

<?php

$cislo = 5;

$cislo++;

//vratí číslo 6

?>

Druhý příklad:

<?php

$cislo = 5;

++$cislo;

//vrátí také 6

?>

Ačkoliv se oba příklady zdají, že jsou úplně stejné, jistý rozdíl v nich je. Pokud se nám do kódu připlete ještě jedna proměnná, výsledek již bude jiný:

<?php

$cislo = 5;

$dalsi_cislo = $cislo++;

//vrátí číslo 5

?>

Druhý příklad:

<?php

$cislo = 5;

$dalsi_cislo = ++$cislo;

//vrátí číslo 6

?>

Z obou příkladů je vidět, že každý kód vrátí něco jiného, nyní Vám vysvětlím proč. V prvním případě se jedná o postinkrementaci, protože hodnota proměnné $cislo byla přiřazena do proměnné $dalsi_cislo předtím, než byla změněna. Ve druhém příkladu se jedná o preinkrementaci, proměnná $cislo byla změněna předtím, než byla přiřazená do proměnné $dalsi_cislo, proto se změnila. Jistě Vás napadne, jak zvýšit hodnotu o více než o jedna, jde to takto:

<?php

$cislo = 5;

$cislo +=5;

//proměnná číslo bude 10

?>

Takto lze změnit hodnotu proměnné o více než o jedna, je to velmi jednoduché, protože lze tímto způsobem k sobě spojit i dva řetězce:

<?php

$retezec = „prvni slova „;

$retezec .= “ dalsi slova“;

//výsledek co bude v proměnné řetězec je „první slova dalsi slova“

?>

Preinkrementaci a postinkrementaci je vhodné používat skoro kdekoliv, kde je k tomu prostor, protože je optimalizovaná pro rychlost, nicméně v některých jazycích obsažena není, tedy pokud přecházíte například z asp, asi si chvíli budete zvykat.

„Líbil se Vám tento článek? Sdílejte ho prosím na sociálních sítích, ať se o něm dozvědí i Vaši kamarádi. Děkuji!“
Share on FacebookShare on Google+Tweet about this on TwitterShare on TumblrEmail this to someone