1. <? (treść skryptu) ?>
2. <?php (treść skryptu) ?>
3. <script language="php"> (treść skryptu) </script>
4. <% (treść skryptu) %> (od wersji 3.0.4)
Wybór użytego sposobu może zależeć od innych rozszerzeń języka HTML, ewentualnie od ograniczeń zastosowanego do tworzenia strony edytora (w tym wypadku zwykle używa się
sposobu 3).
<? echo("To jest prosty skrypt PHP"); ?>
W miejscu gdzie zostanie wstawiony ten skrypt powinien pojawić się napis To jest prosty skrypt PHP. Ten skrypt składa się tylko z jednej instrukcji. Instrukcje w skryptach PHP
są kończone średnikami. Znacznik końca skryptu także kończy instrukcję, więc średnika na końcu tej lini mogłoby nie być. Dobrym zwyczajem jest jednak stawianie średnika także
po ostatniej instrukcji. Pomaga to w unikaniu pomyłek - jeżeli teraz dopisze jakieś instrukcje na końcu skryptu wszystko będzie w porządku. Gdyby średnika nie było, pojawiłby
się błąd.
echo("Kawałek<BR>tekstu")
Jak widać komentarz może mieć na kilka lini.
$a=7;
Jeszcze słowo wyjaśnienia na temat typów zmiennych. PHP obecnie obsługuje następujące typy zmiennych:
$a=3;
Zmienna $c będzie miała wartość "3, Jakaś wartość".
$tablica[0]="wartość pola 0";
Jako indeksu można użyć innej zmiennej, np.
$indeks=3;
$a=5;
W jednej lini można umieścić kilka przypisań, np:
$a=$b=5;
Przypisania są obliczane od prawej strony (w tym wypadku najpierw zmiennej $b przypisywana jest wartość 5, potem zmiennej $a wartość zmiennej $b). Function f($a, $b)
Jak widać deklaracja funkcji zaczyna się od słowa Function. Następnie podaje się nazwę funkcji i w nawiasie listę parametrów oddzielonych przecinkami.
Potem w nawiasach klamrowych należy podać treść funkcji. W celu wywołania funkcji podaje się jej nazwę i w nawiasach listę wartości parametrów. Jeżeli nie przekazuje się
żadnych parametrów, i tak należy po nazwie funkcji umieścić pusty nawias. $a=5;
Wykonanie powyższego kodu nie spowoduje, jak mogłoby się wydawać, wyświetlenia liczby 5. Żeby zmienna globalna (w tym wypacku $a) była widoczna wewnątrz funkcji, należy użyć
polecenia global:
$a=5;
Po wykonaniu powyższego kodu w dokumencie pojawi się liczba 5. Function f()
Wykonanie tego kodu spowoduje pojawienie się dwa razy tego samego. Jeżeli chcemy, żeby zmienna nie traciła wartości po zakończeniu funkcji, należy użyć polecenia static:
Function f()
Teraz w dokumencie pojawi się najpierw liczba 2, potem 3.
Function f($p)
Ten skrypt wyświetli liczbę 21. Function f()
Po wykonaniu polecenia return kończy się działanie funkcji i funkcja echo nie jest wywoływana.
Na początku jedna uwaga: znaczniki <? i ?> można zastąpić dowolnymi wymienionymi wyżej. W następnych przykładach będe je pomijał, podając jedynie treść skryptu.
Komentarz to wstawiany w skrypcie kawałek tekstu który jest po prostu ignorowany. Komentarze są przydatne zwłaszcza przy pisaniu dłuższych skryptów, w których nie widać na
pierwszy rzut oka co który fragment robi. Komentarze w skryptach PHP są oznaczane tak jak w języku C - znakami /* i */, np:
/* Poprzednia linia wyświetla w 2 liniach napis
"kawałek tekstu".
Nie jest to zbyt odkrywcze, ale w końcu
chodzi o przykład zastosowania komentarza ;-) */
W skryptach PHP wykorzystanie zmiennych jest dużo prostsze niż w wielu innych językach. Nazwy zmiennych zawsze zaczynają się od znaku $. Nie jest konieczne deklarowanie
zmiennych, tak jak ma to miejsce w wielu innych językach. Aby stworzyć zmienną wystarczy nadać jej jakąś wartość, np:
$b="Jakiś tekst";
$c=2.654;
$d=0.0
Typ zmiennej jest określany automatycznie na podstawie przypisywanej wartości. I tak w powyższym przykładzie $a ma typ integer, $b ma typ string a $c i $d mają typ double
(0 jest co prawda liczbą całkowitą, zle każda liczba zawierająca kropkę jest traktowana jako rzeczywista).
Jak widać na powyższym przykładzie, tekst powinien być zawsze ujęty w cudzysłowy. Jeżeli chcemy w tekście umieścić cudzysłów, należy poprzedzić go znakiem \. To samo dotyczy
znaku $. W celu umieszczenia wewnątrz tekstu znaku \ należy napisać \\. Aby umieścić w tekście znaku nowej lini można użyć sekwencji \n. Wewnątrz tekstu można też użyć
zdefiniowanych wcześniej zmiennych:
$b="Jakaś wartość";
$c="$a, $b";
Tablica to wiele zmiennych ułożonych kolejno, do których można dostać się za pomocą indeksu. Tak samo jak w przypadku zwykłych zmiennych, aby stworzyć tablicę wystarczy przypisać wartość któremuś z jej pól:
$tablica[1]="wartość pola 1";
$tablica[2]="wartość pola 2";
$tablica[3]="wartość pola 3";
$tablica[4]="wartość pola 4";
$tablica[$indeks]=27;
Poprzedni przykład ograniczał się tylko do przypisania kilku zmiennym wartości. Oczywiście można na nich wykonywać działania:
$b=$a+2; /* $b ma wartość 7 */
$b=$b+3; /* teraz $b ma wartość 10 */
$b+=3; /* to ma efekt taki sam jak $b=$b+3, z tym że
jest wyraźniejsze w zapisiei szybciej działa */
$c=2*$a+3*($b-$a); /* tego już chyba nie musze wyjaśniać */
PHP obsługuje kilka typów porównań. Porównanie ma wartość 1 jeżeli warunek jest spełniony, lub 0 gdy nie jest.
W programach przykładowych były już użyte funkcje, chociaż nie było o tym mowy. Konkretnie była użyta funkcja echo. Jest to przykład funkcji zdefiniowanej przez twórców
języka PHP. Ale można też stworzyć własną funkcję. Wygląda to tak:
{
$a+=$b;
echo($a);
}
f(7, 2); /* teraz wykonają się komendy
zawarte w treści funkcji. Zmienna
$a będzie miała wartość 7, $b 2 */
Funkcji należy używać, gdy dany fragment kodu musi zostać wykonany w wielu miejscach. Dobrze jest też dłuższe fragmenty skryptów umieścić w kilku funkcjach
w celu zwiększenia przejżystości.
Kiedy zmienna jest zadeklarowana poza funkcją, jej wartość nie będzie widoczna w funkcji. Ilustruje to przykład:
Function f()
{
echo($a);
}
f();
Function f()
{
global $a;
echo($a);
}
f();
Jeżeli stworzymy zmienną wewnątrz funkcji, jej wartość będzie za każdym wywołaniem ustawiana od początku:
{
$a=2;
echo($a);
$a++;
}
f();
f();
{
static $a=2;
echo($a);
$a++;
}
f();
f();
Funkcja może zwrócić wartość. używa się do tego polecenia return:
{
return 3*$p;
}
$a=f(7);
echo($a); /* $a ma wartość 21 */
/* można też od razu echo(f(7)); */
Po zwróceniu wartości kończy się wykonanie funkcji:
{
return 3;
echo("Ten tekst się nie wyświetli");
}
http://ygreg.and.pl