Technologie internetowe ii
This presentation is the property of its rightful owner.
Sponsored Links
1 / 75

Technologie internetowe II PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Technologie internetowe II

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


Podstawowe elementy j zyka php

Podstawowe elementy języka PHP


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: <? echo ("to jest najprostsza metoda, podobna do SGML'u\n"); ?>; uwaga - short_open_tag = on

    2. standardowe: <?php echo("jeśli serwujesz pliki XML, użyj tej metody\n"); ?&>;

    3. skryptowe: <script language="php"> echo ("niektóre edytory (np. FrontPage) nie lubią przetwarzania instrukcji"); </script>

    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

<?php

echo "Witaj sieci!";

?>

lub

<?php

print ("Witaj sieci!„);

?>

Technologie internetowe II


Drugi program czenie z html

Drugi program – łączenie z HTML

<html>

<head>

<title>Skrypt PHP zawierający HTML</title>

</head>

<body>

<b>

<?php

echo "witaj świecie";

?>

</b>

</body>

</html>

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"; // jak w C/C++

    echo „cokolwiek 2"; # jak w UNIX shell

    /* komentarza

    w kilku

    liniach */

    ?>

Technologie internetowe II


Typy danych sta e i zmienne operatory i wyra enia

Typy danych, stałe i zmienne, operatory i wyrażenia


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

<? $nazwa = 1; // Zmiennej "nazwa" przypisywana jest wartość liczbowa 1

$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 = 1234; # liczba dziesiętna

    $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

<?php

$nieokreslona = 3.14;

$chwila = (double) $nieokreslona;

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

$chwila = (string) $nieokreslona;

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

$chwila = (integer) $nieokreslona;

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

$chwila = (double) $nieokreslona;

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

$chwila = (boolean) $nieokreslona;

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

echo "<hr/>";

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

<?php

$nieokreslona = 3.14;

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

settype($nieokreslona, 'string');

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

settype($nieokreslona, 'integer');

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

settype($nieokreslona, 'double');

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

settype($nieokreslona, 'bool');

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

?>

Technologie internetowe II


Testowanie typu

Testowanie typu

<?php

$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ą <?php_track_vars?>.

  • 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ą <?php_track_vars?>.

  • 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ą <?php_track_vars?>.

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

<?php

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.

    <? /* Jeden z najczęstszych błędów SQL (za dużo o jeden apostrof) */

    $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 "<h3>Postinkrementacja";

$a = 5;

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

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

echo "<h3>Preinkrementacja";

$a = 5;

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

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

echo "<h3>Postdekrementacja";

$a = 5;

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

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

echo "<h3>Predekrementacja;";

$a = 5;

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

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

?>

Technologie internetowe II


Operatory logiczne

Operatory logiczne

Technologie internetowe II


Instrukcje warunkowe i instrukcje p tli

Instrukcje warunkowe i instrukcje pętli


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

<?php

$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

<?php

$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

<?php

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

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

?>

Technologie internetowe II


P tla for przyk ad 2

Pętla for – przykład 2

<?php

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

{

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to...

$tymcz<br>";

}

?>

Technologie internetowe II


P tla for przyk ad 3

Pętla for – przykład 3

<?php

$licznik = -4;

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

{

if ($licznik == 0)

{ break; }

else

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

}

?>

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."<br>";

$x++;

}

?>

Technologie internetowe II


Przyk ad while

Przykład while

<?php

$licznik = 1;

while ($licznik <= 12)

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

$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

<?php

$num = 1;

do {

echo "Liczba: $num<br>"; $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

<?php

$licznik = -4;

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

{

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

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to... $tymcz<br>";

}

?>

Technologie internetowe II


Przyk ad break

Przykład break

<?php

$licznik = -4;

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

{

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

$tymcz = 4000/$licznik;

echo "4000 dzielone przez $licznik to... $tymcz<br>";

}

?>

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

<?php

$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


Tablice1

Tablice


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

<?php

$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 <br/>";

}

}

?>

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 => <BR>";

?>

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


  • Login