180 likes | 321 Views
Wprowadzenie do języka skryptowego PHP – cz. 2. Funkcje. Funkcje. Funkcje stosuje się w celu przekształcenia zadań obejmujących wiele wierszy kodu w procedurę wywoływaną za pomocą pojedynczej instrukcji, Definiowanie funkcji: function nazwa(argumenty) { instrukcje; return wartość;
E N D
Funkcje • Funkcje stosuje się w celu przekształcenia zadań obejmujących wiele wierszy kodu w procedurę wywoływaną za pomocą pojedynczej instrukcji, • Definiowanie funkcji: function nazwa(argumenty) { instrukcje; return wartość; } • Wywołanie funkcji: nazwa(argumenty);
Przykład zastosowania funkcji function add_tax($amount) { $total = $amount * 1.22; return $total; } $price = 16.00; echo „Cena bez podatku VAT: $price <br>”; echo „Cena wraz z podatkiem VAT: ”; echo add_tax($price);
Operacje arytmetyczne • dodawanie a+b • odejmowanie a-b • mnożenie a*b • dzielenie a/b • reszta z dzielenia a%b • inkrementacja a++ • dekrementacja a--
Zastosowanie funkcji printf • Funkcja printf służy do wyświetlania sformatowanych ciągów znaków, • Sposoby użycia: • printf(„Tekst”) – analogiczne do polecenia echo „Tekst”, • $zmienna = wartość; printf(„Tekst %symbol_formatujący”, $zmienna); • Symbole formatujące: • d Całkowita liczba dziesiętna • f Liczba zmiennoprzecinkowa • s Ciąg znaków
Przykład zastosowania printf • $price = 5.99; printf(„Cena wyrażona jako liczba całkowita wynosi %d”, $price); • $item = „Pochodzenie gatunków”; $price = 5.99; printf(„Cena książki %s wynosi %f”, $item, $price);
0 1 2 3 4 5 6 7 … wartości Tablice • Tablica jest typem danych umożliwiającym zapisanie zaindeksowanego zbioru wartości • Tworzenie tablicy: $tablica = array(wart1, wart2, …, wart8); • Odwołanie się do wartości tablicy: $tablica[indeks];
Przykład zastosowania tablic • Tablica w której przypisano 12 wartości reprezentujących temperatury w miesiącach od stycznia do grudnia: $temps = array(2, 3, 8, 12, 17, 22, 28, 26, 18, 13, 8, 4); • Wyświetlenie temperatury dla marca: echo $temps[2]; • Przypisanie nowej wartości temperatury dla listopada: $temps[10] = 16;
Tablice asocjacyjne • W tablicach asocjacyjnych wykorzystuje się indeksy tekstowe zamiast numerycznych, • Definiowanie tablicy asocjacyjnej: $tablica[„nazwa_indeksu”] = wartość; $tablica = array(„indeks1” => wartość1, „indeks2” => wartość2, … „indeksn” => wartośćn);
Przykład zastosowania tablicy asocjacyjnej • $temps[„sty”] = 2; echo $temps[„sty”]; • $temps = array(„sty” => 2, „lut” => 3, „mar” => 8, „kwi” => 12, „maj” => 17, „cze” => 22, „lip” => 28, „sie” => 26, „wrz” => 18, „paz” => 13, „lis” => 8, „gru” => 4);
Przetwarzanie tablic w pętli • Pętla znajdująca wszystkie klucze indeksowe i odpowiadające im wartości z tablicy: foreach($table as $key => $value) { … }
Tablice wielowymiarowe • Tablica wielowymiarowa jest tablicą tablic, • Inicjowanie tablicy: $tablica[1][1] = wartość1; $tablica[1][2] = wartość2; … $tablica[n][m] = wartośćx; • Inicjowanie poprzez zagnieżdżanie funkcji array w odpowiednich miejscach.
Przykład tablicy wielowymiarowej $temps = array ( 1995 => array(„sty” => 3, „lut” => 4, „mar” => 5), 1996 => array(„sty” => 4, „lut” => 3, „mar” => 5), 1997 => array(„sty” => 2, „lut” => 4, „mar” => 7) );
Wykorzystanie klas • Klasa jest szablonową strukturą, która definiuje obiekt, • Każda klasa składa się ze zbioru instrukcji języka PHP, które definiują sposób realizacji zadań przeznaczonych do częstego wykonania, • Klasa grupuje funkcje i zmienne
Definicja klasy class Klasa { var $zmienna; function metoda() { instrukcje; } }
Tworzenie obiektu • Obiekt tworzy się w następujący sposób: $obiekt = new Klasa; • Tę samą klasę można wykorzystać w skrypcie wiele razy, tworząc kilka obiektów o różnych nazwach.
Odwoływanie się do metod • Do metod i właściwości zdefiniowanych w klasie można się odwoływać za pośrednictwem obiektu: $obiekt->zmienna = wartość; $obiekt->funkcja();
Konstruktor • Konstruktor to metoda o takiej samej nazwie jak klasa wywoływana podczas tworzenia obiektu i stosowana do inicjowania zbioru własności (zmiennych) każdego z egzemplarzy obiektu. • Korzystanie z konstruktora: $obiekt = new Klasa($zm1, $zm2);