Programowanie PHP
Materiały:
1. PHP5, Apache i MySQL. Od podstaw, Helion 2005
2. PHP5. Tworzenie stron WWW. Ćwiczenia praktyczne, Helion 2004
3. PHP w mgnieniu oka, Helion 2005
4. http://www.leon.w-wa.pl/texts/kurs/index.php
5. http://php.webhelp.pl/kursy/php/index.php?roz=php
6. http://kursy.skryptoteka.pl/kurs.php?kurs=php&strona=0
Temat 1. – Przygotowanie środowiska, prezentacja możliwości PHP
Ćwiczenie 1 – instalacja środowiska wytwórczego
1. Proszę zainstalować Easy PHP - http://www.easyphp.org/ - jest to zestaw aplikacji:
- Baza danych MySQL
- Serwer WWW Apacze
- Parser php
2. Proszę zainstalować program HTML-Kit - http://www.chami.com/html-kit/download/
- umożliwiający tworzenie stron internetowych.
3. Proszę sprawdzić możliwości aplikacji.
Ćwiczenie 2 – utworzenie prostych stron php
1. Proszę utworzyć przykładową stronę php
<html>
<head><title>Pierwsza strona w PHP</title></head>
<body>
<b>
<?php print "Strona w PHP działa!"; ?>
</b>
</body>
</html>
2. Otwórz stronę za pomocą przeglądarki – czy wyświetla się poprawnie?
3. Umieść stronę w katalogu www programu EasyPhp (Apacha).
4. Wpisując w przeglądarkę http://localhostścieżkadostrony sprawdź działanie strony
5. Analogicznie utwórz i sprawdź działanie strony
<html>
<head>
<title>Moja druga strona w PHP</title>
</head>
<body>
Bieżąca data: <? print (Date("l F d, Y")); ?>
</body>
</html>
6. Zapisz wyświetloną stronę (jako html), sprawdź czy kod jest identyczny z
poprzednim.
Ćwiczenie 3 – prezentacja możliwości PHP
1. Dodaj stronę powodującą wyświetlenie formularza
<form >
Twoje imie: <input type="text" name="osoba">
<br/>
<input type="submit" value="Powitanie">
</form>
2. Sprawdź, co następuje po kliknięciu na przycisk Powitanie.
3. Przekształć pierwszą linie na
<form method="POST" action="witaj.php">
Sprawdź, co następuje po kiknięciu na przycisk Powitanie.
4.
Dodaj kod w odpowiednim skrypcie php
<?php
print "Witaj, ";
$_POST['osoba'];
"!";
?>
5. Sprawdź działanie strony.
6. Spróbuj zmodyfikować stronę i skrypt tak, aby możliwe było wyświetlanie imienia i
nazwiska podawanych w 2 różnych polach tekstowych.
Temat 2. Praca z tekstem, liczbami i zmiennymi
Ćwiczenie 1 – literały i zmienne
1. Sprawdź działanie poniższych literałów dla cudzysłowu podwójnego odpowiednio
wstawiając je w kod.
Literał Znaczenie
\n Nowa
linia
\r Powrót
karetki
\t Tabulator
\\ \
\$ $
\" "
2. Wykorzystując literały utwórz stronę wyświetlającą Twoje dane: imię, nazwisko,
adres, zainteresowania w kolejnych wierszach z odpowiednim odstępem pomiędzy
etykietami a danymi. W cudzysłowie pojedynczym umieść wytłuszczonym drukiem
(<b>tekst</b>) swoje motto życiowe.
3. Spowoduj niewyświetlenie tekstu motta poprzez użycie komentarza - // (dla jednej
linii) lub /* tekst */ (blokowy).
4. Dodaj deklarację zmiennej
$osoba = ”Adam”;
Dodaj instrukcję wyświetlenia tekstu „Mam na imię ” z identyfikatorem zmiennej w
nawiasie zarówno pojedynczym jak i podwójnym. Jaka jest różnica?
5. Dodaj do wcześniejszego tekstu tekst „ a nazwisko Kostrzycki” przy użyciu operatora
łączenia napisów – „.”
Ćwiczenie 2 – wyświetlanie dokumentów
1. Utwórz dokument poprzez instrukcję drukowania
print <<<blokDokumentu
<html>
<head><title>Menu</title></head>
<body bgcolor="#fffed9">
<h1>Śniadanie</h1>
<ul>
<li> Jajecznica na boczku
<li> Sałatka warzywna
<li> Zupa mleczna
</ul>
</body>
</html>
blokDokumentu;
2. Zmodyfikuj dokument, aby wyświetlał listę egzaminów, które będziesz mieć w
bieżącym semestrze.
Ćwiczenie 3 – manipulacja na operatorach
Operatory arytmetyczne
Przykład Nazwa
Wynik
$a + $b
Dodawanie
Suma $a i $b.
$a - $b
Odejmowanie Różnica $a i $b.
$a * $b
Mnożenie
Iloczyn $a i $b.
$a / $b
Dzielenie
Iloraz $a i $b.
$a % $b
Modulo
Reszta z dzielenia $a przez $b.
Operator przypisania
- Podstawowym operatorem przypisania jest symbol '='.
- Wyrażenie $b = 5 oznacza, że zmienna $b przyjmuje wartość równą 5.
- Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b; - zmienna $a
przyjmie wartość 5.
- Zmiennym można przypisywać nie tylko konkretne wartości, ale też wartości innych
zmiennych, np.:
<?
$nazwa
=
$inna_nazwa
=
$trzecia_nazwa
=
5
;
?>
- Operator przypisania można łączyć z operatorami arytmetycznymi i operatorem łączenia
ciągów:
Przykład Wynik
$a += 2
Do zmiennej $a dodane zostanie 2
$a -= 2
Od zmiennej $a odjęte zostanie 2
$a *= 2
Zmienna $a zostanie pomnożona przez 2
$a /= 2
Zmienna $a dodane podzielona przez 2
$a %= 2
Zmienna $a przyjmie wartość reszty z dzielenia $a przez 2
$a .= " dalszy ciąg" Do zmiennej $a na końcu dodany zostanie ciąg " dalszy ciąg"
Operatory porównania
- Operatory porównania są niezbędne do korzystania z instrukcji warunkowych
- Jeśli wyrażenie jest spełnione zwracana jest wartość TRUE (prawda - 1) lub FALSE (fałsz
- 0).
Przykład Nazwa
Wynik
$a == $b
Równy
Prawda jeśli $a jest równe $b.
$a ===
$b
Identyczny Prawda
jeśli $a jest równe $b i są tego samego typu.
(tylko PHP4)
$a != $b
Nie równe
Prawda jeśli $a nie jest równe $b.
$a !== $b Nie identyczny
Prawda jeśli $a nie jest równe $b lub nie są tego samego
typu. (tylko PHP4)
$a < $b
Mniejsze
Prawda jeśli $a jest mniejsze niż $b.
$a > $b
Większe Prawda
jeśli $a jest większe niż $b.
$a <= $b
Mniejsze lub
równe
Prawda jeśli $a jest mniejsze lub równe $b.
$a >= $b
Większe lub
równe
Prawda jeśli $a jest większe lub równe $b.
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 ''"
);
?>
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, np.
<?
$wynik
= `
ls -l /home/
`;
echo
$wynik
;
?>
Po uruchomieniu tego skryptu na komputerze o systemie operacyjnym Linux wyświetlona
zostanie zawartość katalogu /home na serwerze.
Operatory inkrementacji i dekrementacji
- Służą one do zmniejszenia lub zwiększenia wartości danej zmiennej o 1.
- Każdy operator można stosować na 2 sposoby: preinkrementacja/predekrementacja -
najpierw wartość zmiennej zostanie zmieniona, a później zwrócona, lub
postinkrementacji/postdekrementacji - najpierw zostanie zwrócona wartość zmiennej, a
następnie wartość zmiennej zostanie zmieniona.
Przykład Nazwa
Wynik
++$a Preinkrementacja
Zwiększa $a o jeden, a następnie zwraca $a.
$a++
Postinkrementacja Zwraca $a, a następnie zwiększa $a o jeden.
--$a
Predekrementacja
Zmniejsza $a o jeden, po czym zwraca $a.
$a-- Postdekrementacja
Zwraca
$a,
po czym zmniejsza $a o jeden.
Przykład:
<?
echo
"<h3>Postinkrementacja</h3>"
;
$a
=
5
;
echo
"Powinno być 5: "
.
$a
++ .
"<br>\n"
;
echo
"Powinno być 6: "
.
$a
.
"<br>\n"
;
echo
"<h3>Preinkrementacja</h3>"
;
$a
=
5
;
echo
"Powinno być 6: "
. ++
$a
.
"<br>\n"
;
echo
"Powinno być 6: "
.
$a
.
"<br>\n"
;
echo
"<h3>Postdekrementacja</h3>"
;
$a
=
5
;
echo
"Powinno być 5: "
.
$a
-- .
"<br>\n"
;
echo
"Powinno być 4: "
.
$a
.
"<br>\n"
;
echo
"<h3>Predekrementacja</h3>;"
;
$a
=
5
;
echo
"Powinno być 4: "
. --
$a
.
"<br>\n"
;
echo
"Powinno być 4: "
.
$a
.
"<br>;\n"
;
?>
Operatory logiczne
- Operatory logiczne służą do budowania bardziej skomplikowanych instrukcji
warunkowych - do łączenia kilku warunków w jednej instrukcji.
Przykład Nazwa Wynik
$a && $b AND
Prawda, jeśli $a i $b są prawdą
$a || $b
OR
Prawda, jeśli $a lub $b są prawdą
! $a
NOT
Prawda, jeśli $a nie jest prawdą
Operator ciągu
- Operator ciągu ('.' - kropka) służy do łączenia kilku ciągów w jedną całość.
<?
$zmienna1
=
"Wartość zmiennej \"zmienna2\" to"
;
$zmienna2
=
5
;
echo
$zmienna1
.
" "
.
$zmienna2
;
// Powinno się wyświetlić:
// "Wartość zmiennej "zmienna2" to 5"
?>
1. Proszę sprawdzić działanie kodu poniżej
<?
$wynik
= `
cmd
`;
echo
$wynik
;
?>
2. Wykorzystując polecenie dir wyświetl informacje o bieżącym katalogu.
3. Proszę sprawdzić działanie kodu dla operatorów inkrementacji i dekrementacji.
4. Proszę napisać kod, który będzie wyliczał przykładowa średnia ocen i ją wypisywał dla
listy kilku przedmiotów.
5. Napisz skrypt powodujący wyświetlenie reszt dzielenia liczby 30 przez kolejne liczby od
10 do 15.
6. Dodaj kod powodujący wyliczenie i wyświetlenie delty dla równania y= 2x
2
+ 3x + 5
Zgodnie z równaniem delta = b
2
– 4ac.
Ćwiczenie 4 – manipulacja na napisach
FUNKCJA OPIS
PRZYKŁAD
strlen
Oblicza długość napisu
$NIP_długość = strlen($NIP);
Trim
Zwraca napis bez spacji z przodu i
końca napisu
$NIP = trim($_POST['NIP']);
strcasecmp Pomija wielkość znaków napisu
strcasecmp($_POST['email']
printf
Umożliwia wyświetlanie
przeformatowanego tekstu
$cena = 4; $podatek = 0.075
printf(Koszt dania Zł%.2f', $price *
(1 + $tax));
-
Jeśli jest użyty w formatowaniu
napisu za pomocą instrukcji
powyżej powoduje wyrównanie
tekstu do prawej
strtolower
Konwertuje napisy na małe litery
print strtolower('Audi, VOLVO,
MERceDES');
strtoupper Konwertuje napisy na duże litery
substr
Umożliwia pobranie fragmentu
napisu
print substr($_POST['login'], 0, 10);
str_replace Umożliwia zamianę fragmentu
napisu
$nowyemail = 'wzr.pl';
print
str_replace('univ.gda.pl',$nowyemail,
'kowalski@univ.gda.pl’);
ucwords
Umożliwia przeformatowanie
tekstu do pisania pierwszych liter
print ucwords(strtolower('MICHAŁ
KUCIAPSKI'));
napisów z dużej a pozostałych z
małej
strstr
Sprawdza, czy jeden ciąg znajduje
się wewnątrz drugiego i zwraca
ciąg od momentu wystąpienia
szukanego ciągu.
<?
$email = "prezydent@polska.pl";
if(strstr($email, "polska")!==False)
echo "Email ma w sobie słowo
'polska'";
?>
strpos
Zwraca pozycję występowania
jednego ciągu w drugim
ereg
Sprawdzania, czy ciąg tekstowy
pasuje do wyrażenia regularnego
<?
if(ereg(".*", $ciag))
echo "Znalazłem!";
?>
eregi
Ignoruje wielkość znaków.
explode
Zwraca tablicę napisów podzieloną
względem podanego jako pierwszy
znak parametru.
<?
$data = "1992/11/19";
$tablica = explode("/", $data);
?>
split
Rozbija tekst za pomocą wyrażeń
regularnych
<?
$tekst = "19/11/1982 01:43:12.10";
$tablica = split("[ /:.]", $tekst);
?>
1. Utwórz stronę walidującą, że wpisany NIP składa się z jedenastu znaków i wypisujący
odpowiedni tekst, wiedząc, że instrukcja sprawdzająca ma postać. Skorzystaj z funkcji
strlen
if (wyrażenie_logiczne)
{
instrukcje
}
2. Zmodyfikuj kod powyżej dodając funkcję trim.
3. Zmodyfikuj stronę dodając pole tekstowe do wpisywania e-mailu. Dodaj kod do skryptu
sprawdzający jego poprawność – czy występuje @ - funkcja strstr.
4. Dodaj kod do skryptu powodujący wyświetlenie nazwy loginu i adresu serwera, np.:
Login:
alin
Serwer: test.pl
Funkcje:
strpos, substr
5. Dodaj sprawdzanie czy występuje tekst przed małpą i po niej – funkcja explode.
Zmodyfikuj kod tak, aby wyniki wyeliminować funkcje użyte w punkcie wcześniejszym
(strpos, substr).
6. Dodaj na wstępie strony pole dane osobowe. Zmodyfikuj kod skryptu php tak, aby dane
były wyświetlane zgodnie z konwencją imion i nazwisk – użyj funkcji ucwords.
Ćwiczenie 5 – zmienne
- 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:
$a=7;
$b="Jakiś tekst";
$c=2.654;
$d=0.0
- PHP obecnie obsługuje następujące typy zmiennych:
integer - liczba całkowita
double - liczba rzeczywista
string - tekst
array - tablica
object - złożone zmienne definiowane przez użytkownika
pdfdoc (Tylko przy włączonej obsłudze dokumentów PDF)
pdfinfo (Tylko przy włączonej obsłudze dokumentów PDF)
- 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ą, ale każda liczba zawierająca kropkę jest
traktowana jako rzeczywista).
$a=3;
$b="Jakaś wartość";
$c="$a, $b";
- Zmienna $c będzie miała wartość "3, Jakaś wartość".
Stałe
- Mogą być definiowane przez użytkownika za pomocą funkcji define(), która
przyjmuje 2 parametry: nazwę stałej i wartość do niej przypisaną
<?
define
(
"STALA"
,
"Hello world."
);
echo
STALA
;
// Wyświetla "Hello world."
?>
Rzutowanie
- Odbywa się przez podanie nowego typu w nawiasie przed zmienną lub wartością,
której typ chcemy zmienić. Na przykład:
<?
$liczba_calkowita
=
10
;
$liczba_rzeczywista
= (real)
$liczba_calkowita
;
?>
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
Ustawienie typu
- Sposobem, trwałym, na ustawienie typu zmiennej jest użycie funkcji settype. Funkcja
ta pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim
ciąg określający nowy typ zmiennej. Te typy to:
"integer"
"double"
"string"
"array"
"object"
- Funkcja zwraca wartość "true”, gdy wszystko poszło pomyślnie. W przeciwnym razie
zwracana jest wartość "false".
<?
$zmienna = 10.3;
echo " <br> $zmienna"; // Wyświetlona wartość to "10.3"
settype($zmienna, "integer");
echo " <br> $zmienna"; // Wyświetlona wartość to "10"
?>
1. Do strony tworzonej wcześniej dodaj kod powodujący wyświetlenie jej tytułu „Tytuł
pobrany ze zmiennej” (tag <title>) przechowywanego w odpowiedniej zmiennej.
2. Napisz program, który wylicza i odpowiednio wyświetla koszt posiłku w restauracji: 2
Ryby z frytkami po 18 zł, 5 lampek wina czerwonego po 6 zł, VAT na rybę 7% a na wino
22%, napiwek 10% całości.
3. Przekonwertuj program na stronę z formularzem, w którą są wpisywane poszczególne
wartości i skrypt wyliczający i wypisujący poszczególne składniki.
Temat 3 – Sterowanie przebiegiem programu
Ćwiczenie 1 – instrukcja warunkowa
- Używa się jej do wykonania pewnej instrukcji (lub bloku instrukcji), ale tylko w
pewnych okolicznościach - zostanie spełniony określony warunek lub cały zestaw
warunków.
- Składnia instrukcji warunkowej:
<?
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, które zwraca wartość, czyli wszystkie
zmienne, wyrażenia logiczne, funkcje itp. Za spełniony warunek uznawana jest wartość
większa od zera.
<?
$a
=
2
;
$b
=
5
;
$c
=
1
;
if(
$a
>
$b
)
echo
"$a jest większe od $b"
;
else if(
$b
>
$c
)
echo
"$b jest większe od $c"
;
else
echo
"$c jest większe od $a i $b"
;
if(
$a
)
echo
"Zmienna $a ma wartość większą od zera"
;
?>
- Jeśli chcemy, aby po sprawdzeniu warunku wykonane zostało nie jedno, ale kilka poleceń,
to te polecenia trzeba ująć w nawiasy klamrowe. Bez tego warunkiem objęta by była tylko
jedna instrukcja po instrukcji if.
- Instrukcje warunkowe mogą być zagnieżdżane wewnątrz siebie:
<?
$a
=
6
;
$b
=
5
;
$c
=
1
;
if(
$a
>
$b
){
echo
"$a jest większe od $b"
;
if(
$a
>
$c
)
echo
" i od $c"
;
// Powinien zostać wyświetlony napis "6 jest większe
od 5 i od 1"
}
?>
- Instrukcje warunkowe mogą być złożone dzięki wykorzystaniu operatorów logicznych
<?
$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
?>
1. Przekształć skrypt dla średniej ocen, aby w zależności od jej wartości wypisywał, jakiej
wysokości należy się stypendium.
2. Dodaj kod do skryptu wyliczającego deltę, aby w zależności od warunków wypisywane
było ile rozwiązań posiada równanie:
Warunki
Ilość rozwiązań
a ≠0
∆ >0
2 rozwiązania
a ≠0
∆ =0
1 rozwiązanie
a ≠0
∆ <0
0 rozwiązań
3. Dodaj stronę, która będzie posiadała odpowiednie pola do wpisania wartości przy
współczynnikach i zmodyfikuj skrypt, aby obsługiwał tą stronę.
4. Przekształć skrypt odnoszący się do wyliczania ceny za obiad, tak, aby dla zamówień
powyżej 50 złotych rabat wynosił 3% a napiwek 8%.
Ćwiczenie 2 – instrukcja wyboru
- Składnia switch jest instrukcją warunkową, ale jedną zmienną można porównać
nie z jedną wartością, ale z kilkoma
- Nie można konstruować złożonych warunków - możliwe jest tylko proste
porównywanie
- Składnia:
<?
switch(
$zmienna
){
case
'wartość1'
:
...
instrukcje
...
break;
case
'wartość2'
:
...
instrukcje
...
break;
default:
...
instrukcje
...
}
?>
- Instrukcje zawarte po identyfikatorze "default" wykonywane są jeśli zmienna
$zmienna nie przyjęła wartości "wartość1" i "wartość2" (dla tego przykładu).
- 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".
<?
$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"
;
}
?>
1. Napisz program zawierający pole do wpisania komendy i skrypt, który powoduje
wyświetlenie tekstu, że jeśli odpowiednio wpisane zostało:
1 – „Wprowadzenie zamówienia”
2 - „Realizacja zamówienia”
3 - „Modyfikacja zamówienia”
4 – „Usuniecie zamówienia”
inne - „Brak takiego polecenia”
Ćwiczenie 3 – Pętle
Pętla FOR
- Umożliwia wielokrotne wykonanie określonych instrukcji
- Składnia:
<?
for(
inicjalizacja zmiennych
;
sprawdzenie warunku
;
modyfikacja zmiennych
)
{
blok wyrażeń
}
?>
- 3 wyrażenia jako parametry:
• inicjalizacja zmiennych, czyli ustawienie początkowych wartości dla zmiennych
kontrolujących pętlę,
• sprawdzenie warunku, czyli wyrażenie logiczne kontrolujące pętlę - pętla będzie
wykonywana dopóki ten warunek jest prawdziwy,
• modyfikacja zmiennych kontrolujących pętlę - bez tego pętla będzie wykonywała
się w nieskończoność.
<?
for(
$x
=
1
;
$x
<=
10
;
$x
++ )
echo
$x
.
"<br>"
;
?>
Pętla while
- Jest wykorzystywana w sytuacjach, kiedy niezbędne jest wykonywanie jakiejś operacji
dopóki nie zostanie spełniony warunek.
- Składnia:
<?
while(
warunek
){
...
instrukcje
...
}
?>
- Dla wcześniejszego przykładu z pętlą for równoważne zapisanie pętli:
<?
$x
=
1
;
while(
$x
<=
10
){
echo
$x
.
"<BR>"
;
$x
++;
}
?>
Pętla do...while
- Odmiana pętli while.
- Różni się tym, że polecenia zawarte w pętli będą przynajmniej raz wykonane - w
przypadku pętli while tak być nie musi.
- Składnia:
<?
do{
...
instrukcje
...
}while(
warunek
);
?>
Przerywanie wykonań pętli
- Czasem zachodzi potrzeba przerwania danej iteracji (powtórzenia) pętli i przejścia do
następnej iteracji. Z pomocą wtedy przychodzi instrukcja continue. Wystarczy wstawić ją
w odpowiednie miejsce wewnątrz pętli.
- Przykład :
<?
for(
$x
=
1
;
$x
<=
100
;
$x
++) {
if(
$x
%
2
!=
0
)
continue;
echo
$x
.
" "
;
}
?>
Po uruchomieniu powyższego przykładu powinniśmy zobaczyć liczby parzyste od 1 do 100.
Równoważny zapis bez continue:
<?
for(
$x
=
1
;
$x
<=
100
;
$x
++) {
if(
$x
%
2
==
0
)
echo
$x
.
" "
;
}
?>
- Istnieje też polecenie, które powoduje całkowite wyjście z pętli - nie tylko z bieżącej
iteracji. To polecenie to brake. Załóżmy, że zmienna $nazwa to zmienna podana z
formularza:
<?
for(
$x
=
0
;
$x
<
10
;
$x
++) {
if(
$x
%
2
==
0
)
echo
$x
.
" "
;
if(
$nazwa
==
"Test1"
)
break;
}
?>
1. Za pomocą skryptu php utwórz 10-elementową listę wyboru: Samochód 1, Samochód
2…, itd.
2. Napisz program, który wypisuje tabele temperatur dla temperatur od -30 do 30,
zwiększając, co 3 wartości dla Fahrenheita i Celsiusza – użyj pętli for
Celciusz = (Fahrenheit – 32) * 5 / 9
3. Przekształć program na pętlę while.
4. Napisz konwersję w drugą stronę.