technologie internetowe ii
Download
Skip this Video
Download Presentation
Technologie internetowe II

Loading in 2 Seconds...

play fullscreen
1 / 75

Technologie internetowe II - PowerPoint PPT Presentation


  • 142 Views
  • Uploaded on

Technologie internetowe II. Dr Krzysztof Heller. Literatura. Meloni J.C.: PHP, MySQL i Apache dla każdego. Wydanie III, Helion, 2007 Lis M.: PHP i MySQL dla każdego, Helion, 2005 Leszek 'leon' Krupiński: Wykłady internetowe, 2007. Plan wykładu 1. Podstawowe elementy języka PHP.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Technologie internetowe II' - chanel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
technologie internetowe ii

Technologie internetowe II

Dr Krzysztof Heller

literatura
Literatura
  • Meloni J.C.: PHP, MySQL i Apache dla każdego. Wydanie III, Helion, 2007
  • Lis M.: PHP i MySQL dla każdego, Helion, 2005
  • Leszek 'leon' Krupiński: Wykłady internetowe, 2007

Technologie internetowe II

plan wyk adu 1
Plan wykładu 1
  • Podstawowe elementy języka PHP.
  • Typy danych, stałe i zmienne, operatory i wyrażenia.
  • Instrukcje warunkowe i instrukcje pętli.
  • Tablice.

Technologie internetowe II

j zyk php
Język PHP
  • PHP - język skryptowy służący do rozszerzania możliwości stron internetowych.
  • składnia bardzo podobna do popularnych języków programowania C/C++, lecz uproszczona
  • wbudowana obsługa wielu popularnych baz danych
  • dzięki połączeniu z biblioteką GD możliwe jest także dynamiczne tworzenie obrazków GIF (starsze wersje GD) lub PNG (nowsze wersje)

Technologie internetowe II

podstawy programowania php
Podstawy programowania PHP
  • Aby plik był rozpoznany przez serwer WWW jako skrypt PHP musi on mieć odpowiednie rozszerzenie.
  • Rozszerzenia są definiowalne w konfiguracji serwera WWW, zazwyczaj:
    • .php3 (dla PHP w wersji 3),
    • .php lub php4 (dla PHP w wersji 4),
    • .phtml (dla PHP w wersji starszej niż 3).
  • serwer będzie wiedział, że plik ten nie jest przeznaczony do bezpośredniego wyświetlenia (jak w przypadku plików HTML), ale że najpierw trzeba go przepuścić przez parser PHP

Technologie internetowe II

podstawy programowania php1
Podstawy programowania PHP
  • Jeśli zwykłemu plikowi HTML nadamy rozszerzenie .php, to zostanie on prawidłowo wyświetlony
  • parser PHP przetwarzając stronę ma 2 tryby pracy:
    • HTML, gdzie cała treść jest wyświetlana, bez przetwarzania,
    • PHP, gdzie treść jest traktowana jako skrypt do przetworzenia.
  • Do określenia w pliku co jest kodem HTML a co PHP służą specjalne znaczniki. Początkowo parser jest w trybie HTML. Aby przejść do trybu PHP można użyć jednego z czterech znaczników:

1. skrócone: ; uwaga - short_open_tag = on

2. standardowe: ;

3. skryptowe:

4. ASP: <% echo ("Możesz też użyć metody podobnej do tej z ASP"); %> <%= ; # To jest skrót dla "<%echo .." %>; uwaga – asp_tags = on

Technologie internetowe II

podstawy programowania php2
Podstawy programowania PHP
  • niby-funkcja echo
    • dla większości normalnych funkcji parametry trzeba podawać w nawiasach
    • w przypadku funkcji echo można je pominąć
    • "echo" jest elementem składni języka
    • służy do wysyłania tekstu podanego jako parametr do przeglądarki użytkownika
  • echo nie wysyła znaku końca linii, więc w miejscu końca linii trzeba wstawić '\n
  • funkcja print() – działanie podobne, zwraca wartość

Technologie internetowe II

pierwszy program
Pierwszy program

echo "Witaj sieci!";

?>

lub

print ("Witaj sieci!„);

?>

Technologie internetowe II

drugi program czenie z html
Drugi program – łączenie z HTML

Skrypt PHP zawierający HTML

echo "witaj świecie";

?>

Technologie internetowe II

sk adnia
Składnia
  • Zakańczanie - umieszczenie na końcu każdej instrukcji (niekoniecznie linii) znaku średnika (';').
  • można pominąć gdy jest przejście do trybu HTML
  • Komentarz – zaznaczanie tekstu nie będącego programem. Są 3 sposoby:
    • Znak //
    • Znak #
    • Pomiędzy znakami /* a */
  • Przykład:

echo „cokolwiek 2"; # jak w UNIX shell

/* komentarza

w kilku

liniach */

?>

Technologie internetowe II

zmienne
Zmienne
  • Zmienne oznacza się za pomocą znaku dolara ('$') przed identyfikatorem.
  • Zmienna jest inicjalizowana przy pierwszym jej użyciu.
  • Nazwy zmiennych muszą zaczynać się od litery (dużej lub małej) lub "underscore" (dolna kreska - '_') a dalej mogą się składać z dowolnej ilości liter, cyfr i znaków o kodzie ASCII powyżej 127.
  • Przy nazwach zmiennych ważna jest wielkość znaków - zmienne $Test i $test to dwie różne zmienne.
  • Zmienne są widoczne tylko wewnątrz funkcji lub skryptu, w którym się znajdują.

Technologie internetowe II

przyk ady u ycia zmiennych
Przykłady użycia zmiennych

$druga_nazwa = "Tekst"; /* Zmiennej "druga_nazwa" przypisany jest ciąg znaków "Tekst" */

$trzecia_nazwa = $nazwa; /* Zmiennej "trzecia_nazwa" przypisywana jest wartość zmiennej "nazwa" */

echo "To jest $druga_nazwa"; /* Powinien wyświetlić się napis "To jest Tekst" */

echo '$druga_nazwa'; // Powinien wyświetlić się napis "$druga_nazwa"

echo $nazwa; // Powinna wyświetlić się cyfra 1 ?>

Technologie internetowe II

typy zmiennych
Typy zmiennych
  • liczby całkowite (integer)
  • liczby rzeczywiste (double)
  • ciągi (string)
  • tablice (array)
  • obiekty (object)
  • PHP potrafi konwertować zmienne całkowite zapisane w różnych formatach liczbowych:

$a = -123; # liczba ujemna

$a = 0123; # liczba ósemkowa (równoznaczne z dziesiętnym 83)

$a = 0x12; # liczba szesnastkowa (równoznaczne z dziesiętnym 18) ?>

Technologie internetowe II

ustalenie typu
Ustalenie typu
  • PHP sam ustala typ zmiennej, zależnie od kontekstu:

$blah = "0"; // $blah jest ciągiem (ASCII 48) $blah++; // $blah jest ciągiem "1" (ASCII 49)

$blah += 1; // $blah jest teraz wartością całkowitą (2)

$blah = + 1.3; // $blah jest wartością rzeczywistą (1.3)

$blah = 5 + "10 Malutkich Świnek"; // jest wartością całkowitą (15)

$blah = 5 + "10 Małych Świń"; // jest wartością całkowitą (15)

?>

Technologie internetowe II

zmiana typu
Zmiana typu
  • Podczas przypisywania zmiennej nowej wartości, poprzednia wartość jest oczywiście zamazywana. W takim przypadku typ zmiennej ustalany jest od nowa.
  • Jeśli jednak zachodzi potrzeba zmiany typu lub PHP błędnie rozpoznaje typ, to można tego dokonać za pomocą rzutowania (cast - efekt jest jednorazowy) lub za pomocą ustalenia typu - funkcja settype (efekt trwały).

Technologie internetowe II

rzutowanie typu
Rzutowanie typu
  • Dozwolone typy rzutowań:
    • (int), (integer) - rzutuj do typu całkowitego
    • (real), (double), (float) - rzutuj do typu rzeczywistego
    • (string) - rzutuj do ciągu
    • (array) - rzutuj do tablicy
    • (object) - rzutuj do obiektu

Technologie internetowe II

rzutowanie typu1
Rzutowanie typu

$nieokreslona = 3.14;

$chwila = (double) $nieokreslona;

echo "czy ".$chwila." jest typu double? ".is_double($chwila)."
"; // double

$chwila = (string) $nieokreslona;

echo "czy ".$chwila." jest typu string? ".is_string($chwila)."
"; // string

$chwila = (integer) $nieokreslona;

echo "czy ".$chwila." jest typu integer? ".is_integer($chwila)."
"; // integer

$chwila = (double) $nieokreslona;

echo "czy ".$chwila." jest typu double? ".is_double($chwila)."
"; // double

$chwila = (boolean) $nieokreslona;

echo "czy ".$chwila." jest typu boolean? ".is_bool($chwila)."
"; // boolean

echo "


";

echo "pierwotny typ zmiennej $nieokreslona: ";

echo gettype($nieokreslona); // double

?>

Technologie internetowe II

ustalenie typu1
Ustalenie typu
  • Funkcja settype pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim ciąg określający nowy typ zmiennej:
    • "integer"
    • "double"
    • "string"
    • "array"
    • "object"
  • Funkcja zwraca wartość "true" gdy wszystko poszło pomyślnie, w przeciwnym razie zwracana jest wartość "false".

Technologie internetowe II

ustalenie typu2
Ustalenie typu

$nieokreslona = 3.14;

echo "czy ".$nieokreslona." jest typu double? ".is_double($nieokreslona)."
"; // double

settype($nieokreslona, 'string');

echo "czy ".$nieokreslona." jest typu string? ".is_string($nieokreslona)."
"; // string

settype($nieokreslona, 'integer');

echo "czy ".$nieokreslona." jest typu integer? ".is_integer($nieokreslona)."
"; // integer

settype($nieokreslona, 'double');

echo "czy ".$nieokreslona." jest typu double? ".is_double($nieokreslona)."
"; // double

settype($nieokreslona, 'bool');

echo "czy ".$nieokreslona." jest typu boolean? ".is_bool($nieokreslona)."
"; // boolean

?>

Technologie internetowe II

testowanie typu
Testowanie typu

$testing; // deklaracja bez przypisania wartości

echo "typ null? ".is_null($test); // sprawdza, czy wartość jest typu null

$testing = 5;

echo "typ integer? ".is_int($test); // sprawdza, czy wartość typu integer

$testing = "five";

echo "typ string? ".is_string($test); // sprawdza, czy wartość typu string

$testing = 5.024;

echo "typ double? ".is_double($test); // sprawdza, czy wartość typu double

$testing = true;

echo "typ boolean? ".is_bool($test); // sprawdza, czy wartość typu boolean

$testing = array('apple', 'orange', 'pear');

echo "tablica? ".is_array($test); // sprawdza, czy wartość typu array

echo "wartość numeryczna? ".is_numeric($test); // sprawdza, czy wartość numeryczna

echo "zasób? ".is_resource($test); // sprawdza, czy jest to zasób

?>

Technologie internetowe II

zmienne predefiniowane superglobalne
Zmienne predefiniowane (superglobalne)
  • W każdym skrypcie PHP dostępne jest kilka zmiennych, których wartość jest ustalana na podstawie zmiennych środowiskowych serwera WWW.
  • Dostępne są jak zwykłe zmienne - ze znakiem dolara przed nazwą.
  • Zmienne dzielą się na:
    • ustawiane przez serwer WWW
    • ustawiane przez PHP

Technologie internetowe II

tablice
Tablice
  • $_GET – zmienne przesłane do skryptu metodą GET
  • $_POST – zmienne przesłane do skryptu metodą POST
  • $_COOKIE – zmienne przesłane do skryptu metodą COOKIE
  • $_FILES – zmienne przesłane do skryptu przez wysłanie pliku
  • $_SERVER – wysłane nagłówki, ścieżkę do pliku, adres skryptu
  • $_ENV – wartości zmiennych środowiskowych serwera
  • $_REQUEST – zmienne przesłane do skryptu przez użytkownika
  • $_SESSION – zmienne zarejestrowane w aktualnej sesji

Technologie internetowe II

zmienne ustawiane przez serwer www
Zmienne ustawiane przez serwer WWW
  • GATEWAY_INTERFACE - Informacja o specyfikacji CGI używanej przez serwer, np. 'CGI/1.1'.
  • SERVER_NAME - Nazwa hosta serwera na którym skrypt jest uruchamiany. Jeśli skrypt pracuje na wirtualnym hoście, to zmienna przyjmie jako wartość nazwę wirtualnego hosta.
  • SERVER_SOFTWARE - Ciąg identyfikujący serwera podawany przy odpowiadaniu na zapytania
  • SERVER_PROTOCOL - Nazwa i numer wersji protokołu za pomocą którego wysłano zapytanie o stronę, np. 'HTTP/1.0';
  • REQUEST_METHOD - Metoda zapytania użyta do uzyskania dostępu do strony, np. 'GET', 'HEAD', 'POST', 'PUT'.
  • QUERY_STRING - Ciąg zapytania (jeśli takowy istnieje) za pomocą którego połączono się ze stroną.
  • DOCUMENT_ROOT - Katalog główny drzewa dokumentów spod którego skrypt jest wykonywany - jest to ustawienie z pliku konfiguracyjnego serwera.

Technologie internetowe II

zmienne ustawiane przez serwer www1
Zmienne ustawiane przez serwer WWW
  • HTTP_ACCEPT - Nagłówek z aktualnego zapytania, jeśli taki istnieje.
  • HTTP_ACCEPT_CHARSET - Zawartość nagłówka "Accept-Charset" z aktualnego zapytania, jeśli taki istnieje, np. 'iso-8859-1,*,utf-8'.
  • HTTP_ENCODING - Zawartość nagłówka "Accept-Encoding" z aktualnego zapytania, jeśli taki istnieje, np. 'gzip'.
  • HTTP_ACCEPT_LANGUAGE - Zawartość nagłówka "Accept-Language" z aktualnego zapytania, jeśli taki istnieje, np. 'en'.
  • HTTP_CONNECTION - Zawartość nagłówka "Connection" z aktualnego zapytania, jeśli taki istnieje, np. 'Keep-Alive'.
  • HTTP_HOST - Zawartość nagłówka "Host" z aktualnego zapytania, jeśli taki istnieje.
  • HTTP_REFERER - Adres strony (jeśli taka była), która wskazała przeglądarkę do tej strony. Wartość ta jest ustawiana przez przeglądarkę - nie wszystkie to robią.

Technologie internetowe II

zmienne ustawiane przez serwer www2
Zmienne ustawiane przez serwer WWW
  • HTTP_USER_AGENT - Zawartość nagłówka "User-Agent" z zapytania, jeśli taki istnieje. Jest to ciąg informujący o przeglądarce która została użyta do obejrzenia bieżącej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć funkcji get_browser() aby dopasować funkcjonalność strony do przeglądarki użytkownika.
  • REMOTE_ADDR - Adres IP z którego użytkownik ogląda bieżącą stronę.
  • REMOTE_PORT - Port używany do komunikacji pomiędzy użytkownikiem a serwerem.
  • SCRIPT_FILENAME - Ścieżka do aktualnie wykonywanego skryptu.
  • SERVER_ADMIN - Wartość podana dla opcji SERVER_ADMIN w konfiguracji serwera WWW. Jeśli skrypt działa na wirtualnym serwerze, to będzie to wartość podana dla tego wirtualnego serwera.
  • SERVER_PORT - Port na serwerze którego użyto do połączenia. Dla normalnych połączeń będzie to '80'.
  • SERVER_SIGNATURE - Ciąg zawierający wersję i nazwę wirtualnego hosta który jest dodawany do stron generowanych przez serwer.
  • SCRIPT_NAME - Zawiera ścieżkę do aktualnie wykonywanego pliku. Jest to przydatne do skyptów, które muszą wskazywać samego siebie.
  • REQUEST_URI - URI który został podany aby uzyskać dostęp do tej strony.

Technologie internetowe II

zmienne ustawiane przez php
Zmienne ustawiane przez PHP
  • argv - Tablica argumentów przekazywanych do skryptu. Jeśli skrypt jest uruchamiany z linii poleceń, to zmienna ta daję dostęp do argumentów w stylu języka C. Jeśli jest wywołany przez metodę GET, to zmienna ta zawierać będzie ciąg parametrów (query string).
  • argc - Zawiera liczbę parametrów podanych podanych do skryptu w linii poleceń (jeśli skrypt został wywołany z linii poleceń).
  • PHP_SELF - Nazwa pliku aktualnie wykonywanego skryptu, względna do katalogu głównego dokumentów. Ta zmienna jest niedostępna jeśli PHP jest uruchamiany z linii poleceń.
  • HTTP_COOKIE_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez HTTP cookies. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą .
  • HTTP_GET_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę GET. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą .
  • HTTP_POST_VARS - Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę POST. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą .

Technologie internetowe II

sta e ustawiane przez parser
Stałe ustawiane przez parser
  • __FILE__ - Nazwa pliku ze skryptem który jest aktualnie przetwarzany. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany (o poleceniu include w dalszej części kursu), to podana zostanie nazwa pliku zainkludowanego, a nie pliku nadrzędnego.
  • __LINE__ - Numer linii w skrypcie która aktualnie jest przetwarzana. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany, to podany zostanie numer linii przetwarzanej w pliku zainkludowanym.
  • PHP_VERSION - Ciąg reprezentujący wersję parsera PHP aktualnie używaną.
  • PHP_OS - Nazwa systemu operacyjnego na którym uruchamiany jest parser PHP.
  • TRUE - Logiczna wartość prawdy.
  • FALSE - Logiczna wartość fałszu

Technologie internetowe II

sta e definiowane przez u ytkownika
Stałe definiowane przez użytkownika

define("ROK", "2006");

echo "Mamy rok ".ROK;

?>

Technologie internetowe II

operatory
Operatory
  • Operatory - symbole, które służą do operacji na zmiennych.
  • Operatory dzielą się na:
    • operatory arytmetyczne,
    • operatory przypisania,
    • operatory operacji bitowych,
    • operatory porównania,
    • operator kontroli błędów,
    • operator wywołania (uruchamianie zewnętrznych programów),
    • operatory inkrementacji i dekrementacji,
    • operatory logiczne
    • operatory ciągu.

Technologie internetowe II

operator przypisania operator konkatenacji
Operator przypisania, operator konkatenacji
  • Podstawowym operatorem przypisania jest symbol '='.
  • Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b.
  • Zmiennym można przypisywać wartości innych zmiennych.
  • Wartości te można przypisywać kaskadowo, przy czym wartości przypisywane będą od prawej do lewej
  • Operator konkatenacji . np. „Ala”.”kot” -> Alakot

Technologie internetowe II

operatory arytmetyczne
Operatory arytmetyczne

Operator konkatenacji . np. „Ala”.”kot” -> Alakot

Technologie internetowe II

operator przypisania
Operator przypisania

Technologie internetowe II

operatory operacji bitowych
Operatory operacji bitowych

Technologie internetowe II

operatory por wnania
Operatory porównania

Technologie internetowe II

operator kontroli b d w
Operator kontroli błędów
  • Operator kontroli błędów ('@') powoduje, że wyrażenie przed którym postawiono ten znak nie spowoduje wyświetlenia się jakiegokolwiek błędu lub ostrzeżenia.

$res = @mysql_query ("select nazwa, kod from 'lista") or die ("Zapytanie się nie powiodło: błąd to ''");

?>

Technologie internetowe II

operator wywo ania
Operator wywołania
  • Operator ten służy do uruchamiania zewnętrznych programów lub poleceń powłoki.
  • Wystarczy wpisać polecenie pomiędzy znaki odwróconego apostrofu ('`') aby zostało ono wykonane

$wynik = `ls -l /home/`;

echo $wynik;

?>

  • Po uruchomieniu tego skryptu wyświetlona zostanie zawartość katalogu /home na serwerze

Technologie internetowe II

operatory inkrementacji i dekrementacji
Operatory inkrementacji i dekrementacji

Technologie internetowe II

operatory inkrementacji i dekrementacji1
Operatory inkrementacji i dekrementacji

echo "

Postinkrementacja";

$a = 5;

echo "Powinno być 5: " . $a++ . "
\n";

echo "Powinno być 6: " . $a . "
\n";

echo "

Preinkrementacja";

$a = 5;

echo "Powinno być 6: " . ++$a . "
\n";

echo "Powinno być 6: " . $a . "
\n";

echo "

Postdekrementacja";

$a = 5;

echo "Powinno być 5: " . $a-- . "
\n";

echo "Powinno być 4: " . $a . "
\n";

echo "

Predekrementacja;";

$a = 5;

echo "Powinno być 4: " . --$a . "
\n";

echo "Powinno być 4: " . $a . "
;\n";

?>

Technologie internetowe II

operatory logiczne
Operatory logiczne

Technologie internetowe II

struktury kontrolne
Struktury kontrolne
  • Instrukcje warunkowe
  • Instrukcje pętli:
    • For
    • While
    • Do … while
    • Break
  • Instrukcja switch

Technologie internetowe II

instrukcje warunkowe
Instrukcje warunkowe

if(wyrażenie_warunkowe)

instrukcja wykonywana jeśli spełniony zostanie warunek

else if(inne_wyrażenie_warunkowe)

instrukcja wykonywana jeśli spełniony zostanie drugi warunek, a pierwszy nie

else instrukcja wykonywana jeśli nie zostanie spełniony żaden z warunków

?>

  • wyrażeniem warunkowym jest dowolne wyrażenie
  • za warunek uznawane jest wszystko co zwraca wartość, czyli wszystkie zmienne, wyrażenia logiczne, funkcje itp.
  • spełniony warunek - wartość większa od zera

Technologie internetowe II

instrukcje warunkowe1
Instrukcje warunkowe

$nastroj = "smutny";

if ($nastroj == "radosny")

{ echo "Hurrra, jestem w dobrym nastroju!";}

else

{ echo "Mój nastrój jest $nastroj.";}

?>

  • Jeśli chcemy, aby po sprawdzeniu warunku wykonane zostało nie jedno, ale kilka poleceń, to te polecenia trzeba ująć w nawiasy klamrowe

Technologie internetowe II

instrukcje warunkowe2
Instrukcje warunkowe

$nastroj = "smutny";

if ($nastroj == "radosny")

{ echo "Hurrra, jestem w dobrym nastroju!";}

else if ($nastroj == "smutny")

{ echo "Nie martw się, wszystko będzie dobrze!";}

else

{ echo "Ani wesoły, ani smutny, ale $nastroj.";}

?>

Technologie internetowe II

instrukcje warunkowe3
Instrukcje warunkowe

$a = 6; $b = 5; $c = 7; $d = 6; $e = 6;

if( ($a > $b || $a > $c) && // Nawiasy klamrowe nie są potrzebne - to

$d == $e ) // 2 linie ale jedna instrukcja

echo 'Zmienna $a jest większa od $b a zmienna $d jest równa $e,

'. 'więc ten tekst pokaże się.'; // Taka konstrukcja jest dozwolona

?>

Technologie internetowe II

p tla for
Pętla for

for( inicjalizacja zmiennych ;

sprawdzenie warunku ;

modyfikacja zmiennych) { blok wyrażeń }

?>

Technologie internetowe II

p tla for przyk ad 1
Pętla for – przykład 1

for ($licznik=1; $licznik<=12; $licznik++)

{ echo "$licznik razy 2 to ".($licznik * 2)."
";}

?>

Technologie internetowe II

p tla for przyk ad 2
Pętla for – przykład 2

for ($licznik=1; $licznik<=10; $licznik++)

{

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to...

$tymcz
";

}

?>

Technologie internetowe II

p tla for przyk ad 3
Pętla for – przykład 3

$licznik = -4;

for (; $licznik <= 10; $licznik++)

{

if ($licznik == 0)

{ break; }

else

{ $tymcz = 4000/$licznik; echo "4000 dzielone przez $licznik to... $tymcz
"; }

}

?>

Technologie internetowe II

p tla while
Pętla while

while( warunek )

{ ... instrukcje ... }

?>

Technologie internetowe II

for przez while
For przez while

$x=1;

while($x <= 10)

{

echo $x."
";

$x++;

}

?>

Technologie internetowe II

przyk ad while
Przykład while

$licznik = 1;

while ($licznik <= 12)

{ echo "$licznik razy 2 to ".($licznik * 2)."
";

$licznik++;

}

?>

Technologie internetowe II

p tla do while
Pętla do…while

do{ ... instrukcje ... }while( warunek );

?>

  • polecenia zawarte w pętli będą przynajmniej raz wykonane

Technologie internetowe II

przyk ad do while
Przykład do…while

$num = 1;

do {

echo "Liczba: $num
"; $num++;}

while (($num > 200) && ($num < 400));

?>

Technologie internetowe II

przerywanie p tli
Przerywanie pętli
  • continue - przerwanie danej iteracji pętli i przejście do następnej iteracji
  • break - całkowite wyjście z pętli - nie tylko z bieżącej iteracji

Technologie internetowe II

przyk ad continue
Przykład continue

$licznik = -4;

for (; $licznik <= 10; $licznik++)

{

if ($licznik == 0) { continue; }

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to... $tymcz
";

}

?>

Technologie internetowe II

przyk ad break
Przykład break

$licznik = -4;

for (; $licznik <= 10; $licznik++)

{

if ($licznik == 0) { break; }

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to... $tymcz
";

}

?>

Technologie internetowe II

switch
Switch

switch($zmienna)

{ case 'wartość1': ... instrukcje ... break;

case 'wartość2': ... instrukcje ... break;

….

default: ... instrukcje ... }

?>

Technologie internetowe II

switch1
Switch
  • jedną zmienną można porównać nie z jedną wartością, ale z kilkoma
  • nie można konstruować złożonych warunków
  • instrukcje zawarte po identyfikatorze "default" wykonywane są jeśli zmienna $zmienna nie przyjęła wartości "wartość1" i "wartość2"
  • instrukcje są przetwarzane linia po linii
  • parser przechodzi do pierwszej linii "case" pasującej do zmiennej
  • następnie przetwarzane są wszystkie linie wewnątrz nawiasów klamrowych aż do napotkania instrukcji break - nawet jeśli po drodze znajdują się instrukcje "case"

Technologie internetowe II

przyk ad switch
Przykład switch

$nastroj = "smutny";

switch ($nastroj) {

case "radosny": echo "Hurrra, jestem w dobrym nastroju!"; break;

case "smutny": echo "Nie martw się, wszystko będzie dobrze!"; break;

default: echo "Ani wesoły, ani smutny, ale $nastroj."; break;

}

?>

Technologie internetowe II

przyk ad switch 2
Przykład switch 2

$i = 3;

switch($i){

case 0:

case 1:

case 2:

case 3: echo "Zmienna $i jest mniejsza bądź równa od trzech\n"; break;

case 4: echo "Zmienna $i jest równa cztery\n"; break;

default: echo "Zmienna $i jest większa od czterech\n";

}

?>

Technologie internetowe II

tablice2
Tablice
  • tablice to zmienne zawierające w sobie uporządkowany zbiór zmiennych
  • do zmiennych tych uzyskuje się dostęp przez liczbę w nawiasie kwadratowym podane bezpośrednio po nazwie zmiennej - tablicy
  • liczba ta to indeks - numer kolejny zmiennej w tablicy

Technologie internetowe II

przypisanie warto ci tablicy
Przypisanie wartości tablicy

$tablica[0] = "Wpis numer 0";

$tablice[1] = "Wpis numer 1";

$tablica[2] = "Wpis numer 2";

echo $tablica[2]; // Wyświetlony zostanie napis "Wpis numer 2";

?>

Technologie internetowe II

wype nianie tablicy
Wypełnianie tablicy
  • aby dodać kolejny wpis na końcu tabeli wystarczy przy przypisywaniu wartości nie wpisywać indeksu do nawiasów kwadratowych
  • jeśli w ten sposób dodawane są wpisy do nowej tablicy, to pierwszy wpis ma indeks 0
  • indeks można też podawać ze zmiennej, a nawet z innej tablicy czy funkcji
  • elementem tablicy może być każdy typ zmiennej (z innymi tablicami i obiektami włącznie)

Technologie internetowe II

przyk ad wype niania tablicy
Przykład wypełniania tablicy

$tab1[] = 1;

$tab1[] = 0;

$tab1[] = 3;

$tab1[] = 2;

$tab2[] = "Pierwszy";

$tab2[] = "Drugi";

$tab2[] = "Trzeci";

$tab2[] = "Czwarty";

echo $tab2[$tab1[2]];

?>

Technologie internetowe II

przyk ad z o onej tablicy
Przykład złożonej tablicy

$postaci = array(

array( "imię" => "Robert", "zawód" => "superbohater", "wiek" => 30, "specjalna moc" => "rentgen w oczach" ),

array( "imię" => "Ania", "zawód" => "superbohater", "wiek" => 24, "specjalna moc" => "nadludzka siła" ),

array( "imię" => "Kasia", "zawód" => "czarny charakter", "wiek" => 45, "specjalna moc" => "nanotechnologia" )

);

foreach ($postaci as $c) {

while (list($k, $v) = each ($c)) {

echo "$k ... $v
";

}

}

?>

Technologie internetowe II

tablica asocjacyjna
Tablica asocjacyjna

$tablica["imie"] = "Jan";

$tablica["nazwisko"] = "Kowalski";

$tablica["adres"] = "Polna 1";

echo $tablica["imie"]." ".$tablica["nazwisko"].", ul. ".$tablica["adres"]."\n";

?>

Technologie internetowe II

przegl danie tablicy
Przeglądanie tablicy
  • indeks może być zmienną w pętli for
  • funkcja count( $nazwa_tablicy ) zwraca ilość elementów w tablicy podanej jako parametr
  • w przypadku tablicy asocjacyjnej należy skorzystać z funkcji list() i each()
  • przy przechodzeniu przez tablice asocjacyjne trzeba wykorzystać pętlę while

Technologie internetowe II

przyk ad przegl dania tablicy
Przykład przeglądania tablicy

$tbl[] = 1;

$tbl[] = 2;

$tbl[] = 3;

$tbl[] = 4;

$tbl[] = 5;

for( $x = 0; $x < count($tbl); $x++ )

{ echo $tbl[$x]; }

?>

Technologie internetowe II

przyk ad przegl dania tablicy asocjacyjnej
Przykład przeglądania tablicy asocjacyjnej

$tablica["imie"] = "Jan";

$tablica["nazwisko"] = "Kowalski";

$tablica["adres"] = "Polna 1";

while( list($klucz, $wartosc) = each($tablica) )

echo "$klucz =>
";

?>

Technologie internetowe II

niekt re funkcje operuj ce na tablicach
Niektóre funkcje operujące na tablicach
  • asort() - sortuje tablice asocjacyjne zachowując przypisanie kluczy do wartości
  • arsort() - sortuje w odwrotnej kolejności tablice asocjacyjne zachowując przypisanie kluczy do wartości
  • ksort() - sortuje tablice asocjacyjne według kluczy
  • rsort() - sortuje zwykłe tablice (nie asocjacyjne) w odwróconej kolejności
  • sort() - sortuje zwykłe tablice (nie asocjacyjne) w kolejności alfabetycznej
  • uasort() - funkcja sortująca tablice asocjacyjne za pomocą zdefiniowanej przez użytkownika funkcji porównującej elementy (nazwa funkcji jest podawana za pomocą drugiego parametru
  • usort() - funkcja sortująca zwykłe tablice za pomocą funkcji zdefiniowanej przez użytkownika
  • uksort() - funkcja sortująca tablice asocjacyjne według klucza za pomocą funkcji zdefiniowanej przez użytkownika

Technologie internetowe II

przyk ad
Przykład

$owoce = array ("d"=>"mango", "a"=>"papaja", "b"=>"banan", "c"=>"aronia");

asort ($owoce);

reset ($owoce); // Funkcja ta powoduje powrót do pierwszego elementu tablicy

while (list ($klucz, $wartosc) = each ($owoce)) { echo "$klucz = $wartosc\n"; }

?>

Technologie internetowe II

ad