stránka zdaleka není dokončena
PHP se od html kódu oddělují sekvencemi <? a ?>:
<? php kód ?> html kód
Nezáleží na řádkových zlomech (to jako entry). Nezáleží na velikosti písmen (až na výjimky).
PHP příkazy se oddělují středníkem:
<?
příkaz;
příkaz; příkaz;
?>
Úseky programu se mohou uzavírat do chlupatých závorek, zejména pro účely funkcí a větvení:
<?
{příkaz; příkaz;}
?>
Příkazy se ukončují středníkem.
Oddělují se sekvencemi /* a */, nebo // až do konce řádku. Nevím, jak funguje mříž #.
<?
tohle není // a tohle je PHP poznámka // a tohle taky (prostě do konce řádku)
tohle není /* a tohle je PHP poznámka */ a tohle zase ne
/* tohle je PHP poznánka
tohle ještě taky */ a tohle ne
<!-- tohle není PHP poznámka -->
?>
Co je v uvozovkách, jsou řetězce, ostatní jsou výrazy
<?
echo "ahoj";
?>
vypíše Ahoj.
<?
$promenna = "karle";
echo "Ahoj ". $karle;
?>
vypíše Ahoj Karle. Tečka spojuje řetězce.
Co začíná dolarem, je proměnná:
$promenna, $a
Pokud jsou v URL parametry (to je to za otazníkem), umí je PHP přebrat do proměnných. Např. URL:
index.php?a=1&b=2
předá PHP proměnné $a a $b s hodnotami 1 a 2. Takže třeba
<?
echo $a + $b;
?>
vypíše 3. (A to i v případě, že stejný požadavek přijde ne přes GET, ale přes POST).
Pokud někdo dělá v PHP4, může být předávání proměnných z adresy zakázáno v php.ini zápisem
register_globals = off;
Je to bezpečnější, ale začátečníkům doporučuji si to změnit na register_globals = on. Pokud to změnit nemůžete, k proměnným z adresy je nutno přistupovat zápisem $_GET[], např:
echo $_GET["a"] + $_GET["b"];
Na to je funkce isset($proměnná). Jestliže je proměnná definovaná a má hodnotu, pak isset() vrací true.
if (isset($promenna)) ...
Výčet není vyčerpávající
. | spojování řetězců |
+ | sčítání |
- | odčítání |
* | násobení |
/ | dělení čísel (racionálních i celých) |
% | zbytek po dělení (modulo) |
++ | přičtení jedničky |
-- | odečtení jedničky |
= | přiřazení |
.= | připojení řetězce k téže proměnné |
+= | přičtení čísla k téže proměnné |
-= *= /= %= |
odpovídající operace na téže proměnné |
&& | a zároveň |
|| | nebo |
podmínka?ano:ne | pokud platí podmínka, je výsledek ano, jinak ne |
== | rovnost |
!= <> |
nerovnost |
< | je menší |
<= | je menší nebo rovno |
>= | větší nebo rovno (pomůcka: je to v pořadí, jak se to čte) |
if(podmínka) příkaz;
nebo s chlupatými závorkami:
if(podmínka)
{příkaz;příkaz;}
nebo s else
if($a == $b)
{příkazy;}
else
{příkazy;}
Případně s elseif:
if(podmínka)
{příkazy;}
Podmíněný výpis HTML kódu:
<?
if(podmínka) {
?>
výpis html kódu (klidně i složitý)
<? } // uzavření podmínky ?>
Nebo úplně jiný zápis if s dvojtečkou (já ho mám radši):
if(podmínka):
příkaz;
příkaz;
endif;
Případně totéž s else:
if (podmínka):
příkaz;
příkaz;
else:
příkaz;
příkaz;
endif;
Podmíněné vypisování html kódu s dvojtečkovou syntaxí:
<?
if($vypsat == 1):
?>
<b>Tento kód se vypíše, pokud proměnná <var>$vypsat</var> bude 1.</b>
<?
endif;
?>
Testuje se hodnota proměnné $a a podle toho, jakých nabývá hodnot (vypsaných za case), se provádí příkazy
switch ($a)
{
case "hodnota1":
příkazy;
break;
case "hodnota2":
case "hodnota3":
příkazy;
break;
default:
příkazy;
}