PHP
-
Úvod
-
Začlenění PHP do stránek
-
Typy proměnných
-
INTEGER
-
DOUBLE
-
STRING
-
ARRAY
-
Přetypování a konverze
-
Operace s proměnnými
-
Komentáře
-
Zobrazování chyb
-
Úkol
1.
Úvod
- PHP je serverový skriptovací jazyk
- skripty se zpracují na serveru a data jsou odeslána klientovi
- autorem PHP je
Rasmus Lerdorf
- první verze PHP se objevila v roce 1995 jako
Personal Home Page Tools
- nyní (v roce 2006) existuje verze PHP 5.x, my budeme používat verzi PHP 4.x
- PHP nachází na mnoha platformách (Linux, Windows a mnoha dalších)
- adresa na stránky PHP je
http://www.php.net/
nebo
http://cz.php.net/
- český manuál najdete na
http://www.php.net/manual/cs/
2.
Začlenění PHP do stránek
Nejjednodušší způsob:
<? echo "1.způsob"; ?>
Vhodné pro generování XML dokumentů:
<?php echo "2. způsob"; ?>
Když to jinak nejde:
<script language="php">
echo "3. způsob";
</script>
Úkol: vytvořte zde odkaz na stránku "info.php", do které vložte tento skript:
Přečtěte si výsledek.
<?php
phpinfo();
?>
3.
Typy proměnných
- string - textový řetězec
- integer - celé číslo
- double - číslo s desetinnou čárkou
- boolean - hodnota
true
nebo
false
- array - pole
- object - objekt
- před názvem proměnné musí být znak
$
- název proměnné musí začínat písmenem nebo podtržítkem
- proměnná je deklarována při prvním použití
- doporučují se názvy bez háčků, čárek a mezer
- názvy jsou "citlivé" na velikosti písmen
4.
INTEGER
Rozsah je <-2 147 483 648; + 2 147 483 648>
V šestnáckové soustavě zapisujeme ve tvaru
0xčíslo
nebo
0Xčíslo
, používáme malá nebo velká písmena
ABCDEF
.
Pozor! Pokud číslo začíná nulou pak je považováno za číslo v osmičkové soustavě.
-
$cislo = 10; // 10
-
$cislo = 0x0A; // 10 šestnáctkově
-
$cislo = 012; // 10 osmičkově
5.
DOUBLE
Rozsah je přibližně <-1.7.10
308
; +1.7.10
308
>.
Nejmenší kladné číslo je 3.4.10
-324. Větší přesnost dosáhnete s použitím knihovny BC.
Čísla v exponenciálním tvaru zapisujem pomocí
e
nebo
E
.
-
$deset = 3.14
-
$deset = 5.1e3; //hodnota je 5 100
6.
STRING
Řetězce zapisujeme do uvozovek nebo apostrofů.
Pokud potřebujeme speciální znaky použijeme "escape sekvence".
Sekvence
|
Význam
|
\t
|
tabulátor
|
\\
|
zpětné lomítko
|
\$
|
dolar
|
\"
|
uvozovky
|
\r
|
"návrat vozíku"
|
\n
|
nový řádek
|
\r\n
|
ukončení řádku ve windows
|
Znaky můžete napsat také pomoci ASCII kódu.
ASCII
|
Znak
|
\101 osmičková soustava
|
A
|
\x42 šestnáctková soustava
|
B
|
Rozdíl mezi uvozovkami a apostrofy.
Příklad retezec.php:
<?php
$skola = "SPŠ Zlín";
echo "Moje škole se jmenuje $skola.<br>\r\n";
echo 'Moje škole se jmenuje $skola.';
?>
Vyzkoušejte:
KLIKNI
Řetězec je pole znaků, ukážeme na příkladu.
Příklad retezecjepole.php:
<?php
$skola = "SPŠ Zlín";
echo $skola."<br>\r\n";
echo $skola[0];
echo $skola[1];
echo $skola[2];
?>
Vyzkoušejte:
KLIKNI
7.
ARRAY
Prvky pole mohou být libovolného typu.
Příklad:
$pole[0] = "škola";
$pole[1] = 2006;
$pole[2] = 3.14;
Můžete použít i asociativní pole.
Příklad:
$pole["škola"] = "SPŠ Zlín";
$pole["země"] = "MORAVA";
Jiný způsob inicializace. Příklady:
$pole = Array ("Petr", "Pavel", "Jiří");
příklad s prvním indexem 1
$pole = Array (1=>"leden", "únor", "březen");
Můžete definovat i vícerozměrná pole.
8.
Přetypování a konverze
Většinu přetypování a konverze provádí PHP automaticky. Pokud chceme mít jistotu, používáme následující funkce.
GetType(proměnná), Is_Integer(), Is_Double(), Is_String(), Is_Array(), Is_Object().
Změnu typu proměnné provádíme funkcí
SetType(proměnná, typ).
Dočasnou změnu pro použití ve výrazu následovně
$realnecislo = (double) $celecislo;.
9.
Operace s proměnnými
Matematické operátory
Operace
|
Normální způsob
|
Zjednodušený způsob
|
Poznámka
|
sčítání
|
$a = $a + $b;
|
$a += $b;
|
|
odčítání
|
$a = $a - $b;
|
$a -= $b;
|
|
násobení
|
$a = $a * $b;
|
$a *= $b;
|
|
dělení
|
$a = $a / $b;
|
$a /= $b;
|
|
modulo
|
$a = $a % $b;
|
$a %= $b;
|
|
preinkrementace
|
$a = $a + 1;
|
++$a;
|
zvětší o 1, pak vrátí hodnotu
|
postinkrementace
|
$a++;
|
|
nejprve vrátí hodnotu, pak zvětší o 1
|
dekrementace
|
obdobně
|
|
|
Logické operátory
Příklad
|
Nebo
|
Název
|
Výsledek
|
$a and $b
|
$a && $b
|
And
|
TRUE, když $a a $b současně mají hodnotu
TRUE.
|
$a or $b
|
$a || $b
|
Or
|
TRUE, když $a nebo $b má hodnotu
TRUE.
|
$a xor $b
|
|
Xor
|
TRUE, když pouze $a má hodnotu
TRUE
nebo pouze $b má hodnotu
TRUE
|
! $a
|
|
Not
|
TRUE, když $a nemá hodnotu
TRUE.
|
Znak ' | ' můžeme napsat stisknutím pravého Altu a w (Alt + W).
|
Spojování řetězců
Pro spojování používáme operátor
tečka.
Příklady:
$celynazev = $nazev1.$nazev2;
$pozdrav = "Ahoj ".$jmeno;
$pozdrav += "a na závěr";
Ternární (podmíněný) operátor
podmínka ? příkaz 1 : příkaz 2;
Pokud je podmínka pravdivá bude proveden příkaz 1 jinak bude proveden příkaz 2.
<?php
$cislo = 0;
echo ($cislo > 0) ? "číslo je kladné" : "číslo je záporné ";
?>
10.
Komentáře
Pro jeden řádek použijeme
// komentář.
Pro více řádků použijeme
/* komentáře */.
11.
Zobrazování chyb, pokud nelze v php.ini
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
?>
Napište php skript
ukol01.php
, který zpracuje data z tohoto formuláře (metoda je
post položky cislo1 a cislo2
):
S čísly provede 5 různých matematických operací a vypíše je. (ve tvaru např. 1 + 2 = 3 atd.)