Podstawowa składnia.
Fragment kodu, który ma zastać zinterpretowany jako skrypt PHP można zaznaczyć na 4 sposoby:
1. <? skrypt ?>
2. <?php skrypt ?>
3. <script language="php"> skrypt </script>
4. <% skrypt %>
Kod PHP można dowolnie przeplatać ze znacznikami HTML :.
<table><tr><td>
<?php echo "Prosty skrypt"; ?>
</td></tr></table>
W miejscu gdzie zostanie wstawiony ten skrypt pojawi się napis „Prosty skrypt”. Ten skrypt składa się tylko z jednej instrukcji.
Każda instrukcja w PHP kończona jest średnikiem.
Komentarze
Komentarz to wstawiany w skrypcie tekst, który nie jest brany pod uwagę przez interpreter. Komentarze głównie służą do opisywania jakichś bardziej złożonych operacji lub funkcji i są szczególnie przydatne przy pisaniu długich i złożonych skryptów, które mają np.po kilkaset lub więcej linii kodu, żeby w miarę łatwo było odszukiwać to, co chcemy. Komentarze w skryptach PHP mogą być typu blokowego np.
<?php
for ($i=0;$i<3;$i++) echo $i;
/* To jest tekst blokowy który nie będzie brany pod uwagę podczas interpretacji
Możemy wpisywac więcej linii
I jeszcze więcej….*/
?>
,lub typu pojedynczego np.
<?php
for ($i=0;$i<3;$i++) echo $i;
//teraz możemy pisac ile chcemy ale tylko w jednej linii bez zalamywania jej
//i znowu…
// to jest
Blad //
?>
Zmienne, stałe i tablice.
!!! Nazwy zmiennych zawsze zaczynają się od znaku $.
Nadając zmiennej wartość, jednocześnie ją deklarujemy i definiujemy
(w językach wysokiego poziomu najpierw musimy zadeklarować np. int a,b,suma; potem zdefiniować a=5; b=-53; suma=a+b;)
Aby stworzyć zmienną wystarczy nadać jej jakąś wartość, np:
$temperatura=7; $i=10.53; $ok=0.55 - zmienne liczbowe
$alert="UWAGA!"; $x=”23321”; - zmienne tekstowe
$a=TRUE; $b=FALSE - zmienne typu boolean
$i=NULL; - zmienna nie zawiera nic a jest :)
Stałe tworzymy w następujący sposób :
DEFINE(‘temperatura’,15);
DEFINE(‘jedynka’,1);
DEFINE(‘dwojka’,’dwa’);
Wywołujemy je następująco:
echo $temperatura; echo jedynka; echo $alert; echo dwojka; echo $b
Jak widać, różnica miedzy stała a zmienna jest tego typu że zmienne wywoływane są ze znakiem „$” a stałe bez oraz, że zmienne można dowolnie modyfikować w trakcie programu a stałe nie.
Tablice (array)
Tablica w PHP jest obecnie uporządkowaną mapą. Mapa jest typem, który przyporządkowuje wartości do kluczy. Typ ten jest optymalizowany na wiele sposobów, więc można go używać jako typową tablicę, albo listę (wektorową), tablicę asocjacyjną (która jest jedną z implementacji mapy), słownik, kolekcję, stos, kolejkę, i temu podobne. Ponieważ wartością tablicy może być inna tablica PHP, można także łatwo symulować drzewa.
$a = array( 'kolor' => 'czerowny'
, 'smak' => 'słodki'
, 'kształt' => 'okrągły'
, 'nazwa' => 'jabłko'
, 4 // kluczem będzie 0
);
$a['kolor'] = 'czerwony';
$a['smak'] = 'słodki';
$a['kształt'] = 'okrągły';
$a['nazwa'] = 'jabłko';
$a[] = 4; // kluczem będzie 0
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';
znaczy to samo co: array( 0 => 'a' , 1 => 'b' , 2 => 'c' ), albo prościej: array('a', 'b', 'c')
Wyrażenia i operatory.
Postinkrementacja:
$x=0;$tmp=3;
$x++; $tmp--;
$X wynosi 0, $tmp wynosi 3
Preinkrementacja:
$x=0;$tmp=3;
++$x; --$tmp;
$X wynosi 1, $tmp wynosi 2
Przypisanie:
$a=5;
$b=$a+2; // $b ma wartość 7
$b=$b+3; // teraz, $b ma wartość 10
$b+=3; // tak samo jak $b=$b+3
$c=2*$a+3*($b-$a);
$a=$b=34234342;
Porównania:
$a==$b – spełnione, gdy $a i $b są równe.
$a>$b – spełnione, gdy $a jest większe od $b
$a>=$b – spełnione, gdy $a jest większe lub równe $b
$a<$b – spełnione, gdy $a jest mniejsze od $b
$a<=$b – spełnione, gdy $a jest mniejsze lub równe $b
$a<>$b lub $a!=$b – spełnione, gdy $a jest różne $b
Operatory logiczne:
$a or $b lub $a || $b – spełnione, gdy zachodzi $a lub $b
$a and $b lub $a && $b – spełnione, gdy zachodzi $a i $b
Operatory znakowe:
. – operator znakowy
$a = "Witaj";$b = $a . "Świecie!"; // teraz $b zawiera ciąg "Witaj Świecie!"
$a = "Witaj ";$a .= "Świecie!"; // teraz $a zawiera ciąg "Witaj Świecie!"
Struktury kontrolne.
if
Pozwala na wyodrębnienie fragmentu kodu, który zostanie wykonany pod określonym warunkiem.
if (warunek)
wyrażenie
if ($a > $b)
print "a jest większe niż b";
if ($a > $b) {
print "a jest większe niż b";
$b = $a;
}
elseif
Instrukcja elseif, jak sama jej nazwa wskazuje, stanowi połączenie instrukcji if i else. Podobnie jak else rozszerza instrukcję if do sytuacji, kiedy wyrażenie logiczne stojące przy if ma wartość FALSE. Jednakże w przeciwieństwie do typowej instrukcji else, kod objęty tą instrukcją będzie wykonany, jeśli wyrażenie logiczne stojące przy tej instrukcji będzie miało wartość TRUE.
if ($a > $b) {
print "a większe od b";
} elseif ($a == $b) {
print "a jest równe b";
} else {
print "a mniejsze od b";
}
else
Często potrzeba wykonać jedną instrukcję programu, gdy pewien warunek jest spełniony, lub inną inną, gdy ten sam warunek nie jest spełniony. Służy do tego instrukcja else. else rozszerza możliwości instrukcji if do sytuacji kiedy warunek opisany przy instrukcji if ma wartość FALSE.
if ($a > $b) {
print "a jest większe niż b";
} else {
print "a NIE jest większe niż b";
}
while
Znaczenie instrukcji while jest bardzo proste. Nakazuje ona PHP tyle razy wykonywać określone instrukcje, jak długo wyrażenie przy słowie while ma wartość TRUE. Wartość tego wyrażenia jest sprawdzana za każdym razem na początku wykonywania nowej iteracji pętli, więc jeśli jego wartość zmieni się w trakcie wykonywania instrukcji, wykonanie całej pętli nie skończy się do momentu zakończenia całej iteracji. Jedna iteracja jest to jednokrotne wykonanie wszystkich instrukcji w pętli. Jeśli wyrażenie logiczne ma wartość FALSE już na samym początku, instrukcje wewnątrz pętli nie będą w ogóle wykonane.
while (wyrażenie) { instrukcja lub instrukcje }
Przykład:
$i = 1;
while ($i <= 10) {
print $i++; // zmienna $i będzie inkrementowana po wyświetleniu
}
do..while
Pętla do..while zachowuje się bardzo podobnie do pętli while, z wyjątkiem tego, że wartość wyrażenia logicznego sprawdzana jest na końcu iteracji, a nie na początku. Wynikającą z tego główną różnicą jest to, że pierwsza iteracja w pętli do..while na pewno zostanie wykonana (gdyż wyrażenie logiczne będzie sprawdzone dopiero na koniec iteracji). Natomiast w pętli while, gdzie wyrażenie logiczne jest sprawdzane na początku iteracji, może dojść do sytuacji, że pętla w ogóle nie zostanie wykonana, jeśli to wyrażenie będzie miało wartość FALSE od początku.
do {
instrukcje;
} while (warunek);
Przykład:
$i=0;
do {
echo $i++;
if($i==5) echo „polowa petli”;
} while($i<=10);
For
for (wyrażenie1; wyrażenie2; wyrażenie3) instrukcje
Przykład:
for ($i = 1; $i <= 10; $i++) {
print $i;
}
Foreach
foreach(tablica as $wartość) wyrażenie
foreach(tablica as $klucz => $wartość) wyrażenie
Przykład:
foreach ($tabl as $wartość) {
echo "Wartość: $wartość<br>\n";
}
foreach ($tabl as $klucz => $wartość) {
echo "Klucz: $klucz; Wartość: $wartość<br>\n";
}
switch
Instrukcja switch jest podobna do serii instrukcji IF z warunkiem na to samo wyrażenie. W wielu przypadkach istnieje potrzeba porównania jednej zmiennej (lub wyrażenia) z wieloma różnymi wartościami i wykonania różnych fragmentów kodu, w zależności od wyniku porównania tej zmiennej z różnymi wartościami. Do tego właśnie służy instrukcja switch.
if ($i == 0) {
print "i jest równe 0";
}
if ($i == 1) {
print "i jest równe 1";
}
if ($i == 2) {
print "i jest równe 2";
}
switch ($i) {
case 0:
print "i jest równe 0";
break;
case 1:
print "i jest równe 1";
break;
case 2:
print "i jest równe 2";
break;
}
Funkcje i klasy.
Funkcje.
Funkcja może być zdefiniowana używając składni takiej jak poniższa:
function nazwa_funkcji ($arg_1, $arg_2, ..., $arg_n)
{
echo "Przykładowa funkcja.\n";
return $zmienna;
}
Przykład :
function dodaj ($a,$b)
{
$wynik = $a + $b;
return $wynik;
}
$wynik = dodaj(4,6);
echo $wynik;
//wykonanie powyższego kodu wyświetli wartość 10
Klasy.
Klasa jest to zbiór zmiennych i funkcji operujących na tych zmiennych. Do definicji klasy używana jest następująca składnia:
<?php
class Koszyk
{
var $zakupy = array();
function dodaj_produkt ($produkt, $ile)
{
$this->zakupy[$produkt] += $ile;
}
function pokaz_ile ($produkt)
{
if ($this->zakupy[$produkt]) {
return $this->zakupy[$produkt];
} else {
return false;
}
}
}
?>
Obiekty.
Obiekt to inaczej powoływana do życia kopia wybranej klasy. Np.
$kosz = new koszyk;
$kosz -> dodaj_produkt($piwo,333);
$kosz -> pokaz_ile($piwo);
Copyright © 2008-2010 EPrace oraz autorzy prac.