Sunteți pe pagina 1din 15

Note de seminar Tehnologii Web

Specializare Info 2

Lab 11
Descriere: Introducere in PHP si MySQL. Instalare mediu de dezvoltare. Variabile. Operatori. Instructiuni de control.

Resurse
1. Manual PHP, http://www.php.net/manual/en/

Tutorial
1. Introducere

PHP vine de la "Hypertext Preprocessor" i este un limbaj de scripting care ruleaza pe server (server-side language). Codul PHP este interpretat pe serverul Web care genereaza cod HTML ce va fi transmis clientului. PHP este un produs Open Source, care ofera acces la codul sursa.

Pagina de baza pentru PHP este: http://www.php.net

MySQL este un sistem de gestiune a bazelor de date, foarte rapid si robust. Serverul MySQL este multi-user (mai multi utilizatori) si multi-thread (mai multe fire de executie). El utilizeaza SQL (Structured Query Language), limbajul standard de interogare a bazelor de date. MySQL este disponibil sub o licenta Open Source, dar si sub licente comerciale. Pagina de baza pentru MySQL este: http://www.mysql.com

Tehnologii Web
2. Componentele mediului de dezvoltare 2.1 Apache Pentru a rula un site aveti, in primul rand, nevoie de un server HTTP (HyperText Transport Protocol). Aproximativ 70% din site-urile existente la ora actuala (atat Internet cat si Intranet) utilizeaza serverul Apache, datorita flexibilitatii, portabilitatii, sigurantei si extensibilitatii sale. Pagina de baza pentru Apache este: http://httpd.apache.org/ 2.2 PHP Aa cum am menionat, PHP este un limbaj de scripting pe partea de server (server-side). Pentru a putea folosi scripturi PHP, pe platforma pe care ruleaz serverul Web trebuie sa avem instalat PHP. Acesta este un produs open-source care poate fi descarcat de la adresa www.php.net. 2.3 MySQL n fine, avei nevoie de MySQL. Acesta este de fapt pachetul de programe pentru gestiunea bazelor de date. i pachetul MySQL este public, putnd fi preluat din pagina oficial a firmei http://www.mysql.com 2.4 Recomandare Pentru a instala un mediu integrat de dezvoltare Apache+MySQL+PHP, se poate opta pentru o distributie completa. Exemple de astfel de distributii sunt : XAMPP : www.apachefriends.org EasyPHP : http://www.easyphp.org Instalarea acestor pachete este foarte simpla si ele includ pe langa Apache, MySQL si PHP si alte unelte folositoare cum ar fi phpMyAdmin, server de FTP, server de mail sau instrumente de activare/dezactivare a componentelor pachetului.

Tehnologii Web
3. Instalare manuala 3.1 Instalare Apache Dupa ce ati descarcat o versiune de Apache pentru Windows XP/2000 (de exemplu: http://apache.idilis.ro/httpd/binaries/win32/apache_2.0.54-win32-x86-no_ssl.msi) porniti instalarea. Atunci cand managerul de instalare solicita informatii despre server, completati campurile ca in exemplul de mai jos.

Accesati http://localhost/. Daca browser-ul afiseaza o pagina, inseamna ca serverul Apache a pornit si functioneaza. Un server Apache poate fi configurat prin editarea unui fisier special. Fisierul de configurare al este httpd.conf si pentru versiunea de Windows a serverului il puteti gasi in folderul C:\Program
Files\Apache Group\Apache2\conf\

Radacina serverului Web este directorul C:\Program Files\Apache Group\Apache2\htdocs\. Pentru a realiza un test, putem sa editam un fisier test.html in care sa inseram codul:
<html> <head> <title>Primul HTML</title> </head> <body> Acesta este un test HTML </body> </html>

Salvati si accesati in browser: http://localhost/test.html Observati ca serverul Apache ruleaza fisierul HTML. Pentru a rula scripturi PHP trebuie instalat pachetul PHP.

Tehnologii Web

3.2 Instalare PHP Creati un director cu numele php in C:\Program Files\Apache Group\ in care dezarhivati continutul kitului PHP. In continuare, editati fisierul de configurare al PHP-ului, si anume php.ini Intrati in C:\Program Files\Apache Group\php, copiati fisierul php.ini-recommended si redenumiti-l in php.ini, deschideti-l in Notepad si efectuati modificarile: 1) cautati doc_root = si schimbati cu doc_root = C:\Program Files\Apache Group\Apache2\htdocs 2) cautati extension_dir = si schimbati cu extension_dir = C:\Program Files\Apache Group\php\extensions 3) cautati display_errors = Off si schimbati cu display_errors = On 4) cautati ;session.save_path = /tmp si schimbati cu session.save_path = C:\Program Files\Apache Group\php\sesiuni Intrati apoi in directorul cu php (C:\Program Files\Apache Group\php) si creati un folder cu numele sesiuni. Dupa ce ati efectuat aceste schimbari in fisierul php.ini, deschideti fisierul de config al serverului Apache, aflat in C:\Program Files\Apache Group\Apache2\conf sub numele de httpd.conf si efectuati urmatoarele modificari: 1) Adaugati la sfarsitul fisierului, urmatoarele 3 linii. ScriptAlias /php/ "C:/Program Files/Apache Group/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php.exe" 2) Cautati linia DirectoryIndex index.html si schimbati-o cu DirectoryIndex index.html index.php Salvati si reporniti serverul Apache. Intrati in C:\Program Files\Apache Group\Apache2\htdocs si creati un fisier cu numele test.php in care introduceti codul de mai jos, salvati si accesati-l in browser: http://localhost/test.php
<?php phpinfo(); ?>

Tehnologii Web
Tot ce va face acest script este s furnizeze informaiile despre instalarea i starea PHP-ului pe server. O observaie important din acest exemplu: linia de cod PHP se termin cu punct i virgul (;). 3.3 Declaraia PHP Scripturile PHP sunt ntotdeauna incluse ntre dou taguri PHP. Exist trei forme diferite de marcare a expresiilor si comenzilor PHP, i anume:
<? comenzi PHP ?> <?php comenzi PHP php?> <script language="php"> comenzi PHP </script>

Toate trei acioneaz si se comport exact la fel. In cele ce urmeaz vom folosi , pentru simplitate varianta (<?php i ?>). 3.4 Instalare MySQL Instalarea manuala MySQL este foarte simpla, iar dupa instalare se va deschide o fereasta care va da posibilitatea sa configurati serverul. In aceasta etapa va trebui sa setati o parola pentru accesul la bazele de date. Este recomandat ca serverul sa fie instalat intr-un direcor numit MySQL in
C:\Program Files\Apache Group\

3.5 Instalare phpMyAdmin Dupa ce ati descarcat scriptul phpMyAdmin, dezarhivati si copiati continutul arhivei intr-un director phpmyadmin aflat in C:\Program Files\Apache Group\Apache2\htdocs de unde vor rula scripturile. Editati apoi fisierul
C:\Program Files\Apache Group\Apache2\htdocs\phpmyadmin\config.inc.php prin

inserearea parolei selectate la instalarea serverului MySQL in linia


($cfg['Servers'][$i]['password'] = '';), de exemplu: $cfg['Servers'][$i]['password'] = 'parolamysql';

Modificati linia $cfg['PmaAbsoluteUri'] = ''; in

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin';

Editati fisierul C:\Program Files\Apache Group\php\php.ini. Cautati linia ;extension=php_mbstring.dll si activati-o eliminand ; din fata ei. Salvati fisierele modificate si accesati pagina http://localhost/phpmyadmin Pentru a modifica parola serverului MySQL procedati in felul urmator :

Tehnologii Web
Deschideti o consola si lansati comanda mysql -u root p in directorul C:/Program
Files/Apache Group/MySQL/bin

Va fi solicitata parola setata in momentul instalarii serverului MySQL. Dupa autentificare indroduceti la promter-ul mysql> urmatoarele comenzi
SET PASSWORD FOR root@localhost=OLD_PASSWORD('parolaDvs'); FLUSH PRIVILEGES;

4. Primul script
<?php echo 'Acesta este primul script in PHP'; ?>

sau
<?php print("Acesta este primul script in PHP "); ?>

Exemplele de mai sus demonstreaza afisarea unui text cu ajutorul PHP. In apelul echo poate fi inserat si cod HTML, de exemplu
<?php echo '<a href="test.php">Link</a>Acesta este un test'; ?>

5. Variabile Ca i n alte limbaje de programare, n PHP putem defini variabile. Exist cteva tipuri de variabile n PHP, dar cea mai uzual este variabila ir de caractere String. Poate fi folosit pentru texte sau numere. Toate irurile de caractere, toate variabilele string ncep cu semnul $ . Pentru a atribui un text unei variabile string trebuie s folosim o instructiune de forma:
$var = "Un exemplu de variabila!";

PHP este case-sensitive deci $Variabila difer de $variabila. Identificatorul unui sir poate fi format din litere, cifre i caracterul underline (_), dar nu pot ncepe cu o cifr sau cu underline. Cnd atribuim un numr la un string nu mai e nevoie s punem ghilimelele. Pentru a afia o variabil folosim aceleasi functii, de exemplu:
<?php $var = "Un exemplu de variabila!"; print($var); echo $var; ?>

Daca dorim sa inseram valoarea unei variabile intr-un sir, folosim constructia speciala '.$nume_var.', de exemplu
<?php $nume = "Ion Popescu"; echo 'Aceasta pagina a fost realizata de '.$nume.''; ?>

Tehnologii Web
5.1 Constante Pentru a defini o constanta, se foloseste functia define();
<?php define('AUTOR', 'Ion Popescu'); define('VARSTA', '25 ani'); echo AUTOR.' <br> '.VARSTA; ?>

5.2 Variabile predefinite $GLOBALS pot fi accesate toate variabilele globale care sunt accesibile script-ului PHP curent $_SERVER = contine o serie de variabile ale caror valori sunt setate de server-ul web; majoritatea valorilor variabilelor din acest vector depind de mediul de executie al script-ului curent. $_GET si $_POST contin variabile primite de script prin intermediul unor transferuri care folosesc metodele HTTP get, respectiv post. $_COOKIE contine valorile variabilelor care cuprind informatii referitoare la cookie-urile pastrate pe calculatorul utilizatorului ce acceseaza pagina web. $_FILES contine variabile primite de script prin intermediul incarcarilor de fisiere prin metoda POST. $_ENV contine variabile disponibile prin intermediul mediului in care este executat. $_REQUEST contine variabile disponibile prin intermediul oricarui tip de mecanism cu ajutorul caruia utilizatorul poate introduce date. $_SESSION contine variabile care corespund sesiunii curente a script-ului. 6. Tipuri de variabile PHP defineste urmatoarele tipuri: tipuri primitive (boolean, integer, float, double si string) tipuri compuse (array si object) tipuri speciale (resource si null) pseudotipuri (mixed, number si callback) In PHP, de obicei, tipul unei variabile nu este specificat de catre programator, ci este stabilit in timpul executiei in functie de contextul in care este folosita variabila. 6.1 Tipul boolean Variabilele de acest tip pot avea doar doua valori: ADEVARAT sau FALS. Aceste valori pot fi indicate prin cuvintele cheie TRUE sau FALSE (pentru ambele nu se face distinctie intre literele mari si literele mici). Exista posibilitatea de a converti o variabila de orice tip la tipul boolean. In momentul efectuarii unei conversii, sunt convertite la valoarea FALSE urmatoarele valori: - numarul intreg 0; - numarul real 0.0; - sirul vid; - sirul "0"; - un vector fara nici un element; - un obiect fara nici o variabila membru; - o variabila de tipul NULL; - o variabila nedefinita. Orice alta valoare este convertita la valoarea TRUE (inclusiv resursele).

Tehnologii Web
6.2 Tipul integer O variabila de tip integer reprezinta o valoare din multimea numerelor intregi. Aceste numere pot fi specificate in baza 10, in baza 16 sau in baza 8, conventiile fiind aceleasi ca si in limbajul Java. Modul de reprezentare depinde de platforma utilizata; de obicei se foloseste reprezentarea pe 32 de biti. Interpretorul PHP nu ofera suport pentru numerele intregi fara semn. 6.3 Tipul float O variabila de tip float poate fi specificata folosind fie forma zecimala, fie cea stiintifica (cu exponent).La fel ca si in cazul tipului integer, precizia variabilelor de tipul float este dependenta de platforma utilizata. 6.4 Tipul string O variabila de tip string reprezinta un sir de caractere. Un caracter se reprezinta pe un octet, deci sunt 256 de caractere distincte. Acest lucru implica faptul ca interpretorul PHP nu ofera suport nativ pentru setul de caractere Unicode. Lungimea variabilelor de tip string nu este limitata de catre interpretor. Literalii de tip sir de caractere pot fi specificati in trei moduri diferite:

prin folosirea ghilimelelor simple (exemplu $a='acesta este un sir de caractere'). Pentru a avea in cadrul sirului simbolul "`", trebuie scris inaintea acestuia caracterul "\", iar pentru a putea specifica simbolul "\" acesta trebuie dublat. prin folosirea ghilimelelor duble. Folosind aceasta notatie, pot fi specificate mai multe caractere speciale, pe langa caracterele de la varianta anterioara, printre care: sfarsit de linie ("\r"), rand nou ("\n"), tab orizontal ("\t"), semnul dolar ("\$"), ghilimelele duble ("\""), secvente de caractere pentru specificarea faptului ca o expresie regulara este in notatie octala ("\[0-7]{1,3}") si secventele de caractere pentru specificarea faptului ca o expresie regulata este in notatie hexazecimala ("\x[0-9A-Fa-f]{1,2}"). Cel mai important lucru este acela ca, folosind acest mod de specificare a literalilor de acest tip, numerele de variabile care apar in interior vor fi transformate in valoarea lor. De exemplu, daca $a este o variabila de tipul integer si are valoarea 2, atunci sirul de caractere "Variabila a are valoarea $a." va fi transformat in sirul "Variabila a are valoarea 2". notatia heredoc. Acest tip de notatie a fost introdus la versiunea 4 a interpretorului PHP. Pentru a specifica un sir de caractere folosind aceasta notatie, trebuie utilizat operatorul "<<<" urmat de un identificator ales de utilizator. Toate caracterele care se afla intre operatorul "<<<", urmat de un identificator, si acelasi identificator pe o alta linie, vor constitui valoarea sirului de caractere. De exemplu, instructiunea:
$str=<<<SF

Acesta este un exemplu de utilizare a sintaxei heredoc <br> Pe mai multe randuri SF; va avea ca rezultat un sir de caractere format din doua linii de text. Pentru a accesa un anumit caracter din sirul de caractere, se foloseste, dupa numele variabilei de tip string, indicele caracterului care trebuie accesat scris intre acolade. De exemplu, $str{0} returneaza primul caracter din sirul de caractere $str. In cazul in care dorim sa concaternam doua siruri de caractere, vom folosi operatorul "." Exista posibilitatea de a converti o variabila de orice tip la tipul string.

Tehnologii Web
Pentru sirurile de caractere, se pot efectua urmatoarele conversii: - valoarea logica TRUE va fi convertita la sirul "1", iar valoarea logica FALSE va fi convertita la sirul vid (""); - un numar intreg va fi convertit la un sir de caractere care reprezinta valoarea numarului in baza 10; - un numar real va fi convertit la un sir de caractere care reprezinta notatia stiintifica a acestuia; - obiectele sunt intotdeauna convertite la sirul "Object"; - variabilele de tipul resource sunt convertite la sirul "Resource id #n", unde n reprezinta un numar unic atasat resursei respective de catre interpretorul PHP; - valoarea NULL este convertita la sirul vid (""). 6.5 Tipul array Vectorii in PHP sunt niste multimi formate din chei pentru care asociem valori. Valoarea unei variabile de tip vector se poate specifica folosind constructia array (cheie => valoare, cheie
=> valoare, ...)

De exemplu, urmatoarea instructiune PHP va construi un vector cu doua elemente, dintre care unul este de tip string, iar celalalt de tip boolean:
$a = array('sir' => 'string', 12 => TRUE);

Variabila $a reprezinta un vector, $a["sir"] are valoarea string, iar $a[12] are valoarea TRUE. In cazul in care nu se specifica o cheie pentru o valoare, atunci acea valoare va fi atasata unei chei care va fi cheia maxima de tip integer folosita anterior, la care se adauga valoarea 1. Cheile pot avea si valori negative. Daca se foloseste valoarea logica TRUE ca si cheie, atunci aceasta va fi convertita la cheia de tip intreg 1, iar valoarea FALSE va fi convertita la numarul intreg 0. Nu se pot folosi pentru chei variabile de tipul array sau object. O variabila de tip array se poate modifica prin setarea explicita de valori. De exemplu instructiunea $a["x"] = 42; adauga in vectorul $a valoarea 42 atasata cheii "x". Daca se foloseste un vector care nu a fost definit anterior, atunci acesta este creat automat. Exemplu de utilizare al unui vector
<?php $a = array ('nume' => 'Popescu', 'prenume' => 'Ion', 'varsta' => 25 ); echo $a['nume'].' <br> '.$a['prenume']. ' <br> '.$a['varsta']; ?>

6.6 Tablouri multidimensionale


<?php $fructe = array ( 'denumire' => array('p' => 'portocala', 'a' => 'ananas'), 'numere' => array(1, 2) );

Tehnologii Web
echo 'Numar:'.$fructe['numere'][0]. ' --> Denumire:'.$fructe['denumire']['p'].'<br>'; echo 'Numar:'.$fructe['numere'][1]. ' --> Denumire:'.$fructe['denumire']['a'].'<br>'; ?>

7. Operatori PHP 7.1 Operatori aritmetici


+ * / % $a $a $a $a $a + * / % $b $b $b $b $b

Adunare Scadere Inmultire Impartire Modulo

Exemplu:
<?php $a = '12'; $b = '8'; $suma = $a + $b; echo 'Rezultatul adunarii lui '.$a.' cu '.$b.' este '.$rezultat.' '; ?>

7.2 Operatori de comparatie


== === != <> < > <= >= $a == $b $a === $b $a != $b $a <> $b $a < $b $a > $b $a <= $b $a >= $b

Egal Identic Diferit Diferit Mai mic Mai mare Mai mic sau egal Mai mare sau egal

7.3 Operatori logici


! && || and or NOT AND OR AND OR !$b $a && $b $a || $b $a and $b $a or $b

Returneaza true daca $b este false si viceversa Returneaza true daca atat $a cat si $b sunt true si false in caz contrar. Returneaza true daca $a, $b sau ambele sunt true si false in caz contrar. Identic cu && dar are o prioritate mai scazuta. Identic cu || dar are o prioritate mai scazuta

7.4 Operatorul conditional


conditie?adevarat:fals <?php $variabila = "test"; echo $variabila == "test" ? "da" : "nu"; ?>

Tehnologii Web
8. Structuri de control 8.1 Instructiunea IF Instruciunea condiional IF este folosit pentru a executa un bloc de cod in cazul in care o conditie este adevarata.
<?php $a = 8; $b = 2; $rezultat = $a * $b; if($rezultat == '16') { echo 'Rezultatul este corect'; } ?>

Daca conditia este evaluata cu false, atunci nu se va afisa nimic in browser. 8.2 Instructiunea IF-ELSE De multe ori, pe langa decizia de a executa o actiune, atunci cand conditia este adevarata, este nevoie sa se execute alt segment de cod in cazul in care aceasta este falsa.
<?php $a = 20; $b = 8; $rezultat = $a + $b; if($rezultat == '20') { echo 'Rezultatul este corect'; } else { echo 'Rezultatul este incorect'; } ?>

8.3 Instructiunea ELSEIF Prin intermediul instructiunilor de tip else-if se poate testa o intreaga gama de conditii care se exclud reciproc.
<?php $a = 20; $b = 1; $rezultat = $a + $b; if($rezultat == '20') { echo 'Rezultatul este egal cu 20'; } elseif ($rezultat == '21') { echo 'Rezultatul este egal cu 21'; } else { echo 'Rezultatul nu este egal cu cel din conditie'; } ?>

8.4 Instructiunea SWITCH PHP ofera o alternativa la folosirea instructiunii else-if, deoarece structura acesteia poate deveni prea complicata atunci cand numarul de conditii este prea mare. Aceasta alternativa este structura

Tehnologii Web
de decizie switch. Instructiunea switch este ideala atunci cand conditia de test este o expresie care poate lua mai multe valori.
<?php if(!isset($_GET['caz'])) $_GET['caz'] = ''; switch($_GET['caz']) { case '': echo 'Cazul implicit'; break; case 'pagina1': echo 'Afisare pagina 1'; break; case 'pagina2': echo 'Afisare pagina 2'; break; } ?>

Pentru a testa instructiunea, apelati in browser intai http://localhost/switch.php si apoi http://localhost/switch.php?caz =pagina1 8.5 Instructiunea WHILE Instructiunea while este intrebuintata pentru executia repetata a unui bloc de cod i are sintaxa
general : while (Expresie logica) Instructiune

unde Expresie logica trebuie s aib tipul boolean. Execuia unei instruciuni while ncepe cu evaluarea expresiei logice. Dac dup evaluarea expresiei se ajunge la rezultatul true, se execut instruciunea. Dup executarea instruciunii se reevalueaz expresia logic. n cazul n care expresia este fals, execuia instruciunii while se termin. n caz contrar, while i continu execuia. Astfel, o instruciune while poate fi executat de zero ori - dac Expresie logica este evaluat cu false de la nceput, de un numr finit de ori - dac Expresie logica i schimb valoarea pe parcursul execuiei sau de o infinitate de ori - n cazul n care instruciunea nu reuete s implice o schimbare a valorii pe care o are Expresie logica. n acest ultim caz, programul intr ntr-o bucl infinit. n general while este folosit atunci cnd nu se cunoate aprioric numrul de iteraii.
<?php $numar = 1; while($numar <= 9){ echo $numar.'<br>'; $numar++; } ?>

8.6 Instructiunea FOR Instruciunea for este cea mai des folosit instruciune repetitiv. Sintaxa unei instruciuni for PHP este :
for (initializare contor; expr_logica ; incrementare contor) Instructiune

Tehnologii Web
<?php for ($variabila = 1; $variabila <= 10; $variabila++) { echo $variabila.'<br>'; } ?>

Un alt exemplu de utilizare a instructiunii for este realizarea unui tabel HTML cu linii colorate alternativ.
<?php echo "<table border=\"0\">\n <tr><td>Nume</td></tr>\n"; $culoare = "white"; for ($variabila = 1; $variabila <= 10; $variabila++) { if($culoare == "blue") $culoare = "white"; else $culoare = "blue"; echo "<tr><td bgcolor=".$culoare.">".$variabila."</td></tr>\n"; } echo "</table>"; ?>

8.7 Instructiunea FOREACH Aceasta structura poate fi folosita pentru a realiza o iterara printre elementele unui vector.Exista doua sintaxe acceptate pentru aceasta instructiune si anume:
foreach(expresie_vectoriala as $valoare) { //instructiune } foreach(expresie_vectoriala as $cheie => $valoare) { //instructiune }

Daca se utilizeaza prima varianta, atunci la fiecare iteratie valoarea elementului curent este atribuita variabilei $valoare, si apoi se trece la elementul urmator (a carui valoare va fi atribuita variabilei la urmatoarea iteratie). Executia ciclului se incheie in momentul in care nu mai exista alte elemente in vector. Singura diferenta care apare in cazul utilizarii celei de-a doua variante este faptul ca la fiecare iteratie valoarea cheii elementului curent este atribuita variabilei $cheie.

Tehnologii Web
In continuare este prezentat un un exemplu de folosire a celor doua sintaxe ale structurii foreach.
<?php $sir = array("unu", "doi", "trei", "patru", "cinci"); foreach($sir as $valoare) { echo "Valoare: ".$valoare." <br>\n"; } ?>

sau
<?php $sir = array("unu", "doi", "trei", "patru", "cinci"); foreach($sir as $cheie => $valoare) { echo "Cheie: ".$cheie." Valoare: ".$valoare." <br>\n"; } ?>

8.8 Instructiunea BREAK Instruciunea break realizeaz ieirea forat dintr-un ciclu. Instruciunea este folosit n principal n cadrul unei structuri de decizie de tip switch. Instructiunea poate fi urmata de un argument care indica numarul de structuri imbricate a caror executie se incheie. Valoarea implicita este 1, deci se intrerupe executia unei singure structuri. Urmatoarea secventa de cod PHP realizeaza parcurgerea elementelor unui vector de numere intregi, pana in momentul in care se intalneste un numar negativ.
foreach ($a as $v) if($v < 0) break;

Mai departe, avem cazul in care este intrerupta executia mai multor cicluri imbricate. Codul parcurge elementele unei matrice patratice cu n elemente si n coloane pana in momentul in care se intalneste o valoare nula.
for($i = 0; $i < $n; $i++) for($j = 0; $j < $n; $j++) if(!$a[$i][$j]) break 2;

8.9 Instructiunea CONTINUE Aa cum break poate fi folosit pentru a ntrerupe forat un ciclu, instruciunea continue poate fora un program s revin la nceputul ciclului. Aceast instruciune poate fi ntlnit doar n cadrul unor instruciuni repetitive (for, while), unde este folosit pentru a termina forat iteraia curent. La fel ca si in cazul instructiunii break, poate aparea un argument care indica numarul structurilor imbricate asupra carora are efect. Exemplul urmator realizeaza afisarea elementelor unui sir de numere intregi care sunt mai mari decat 1000.
foreach($a as $v) { if($v <= 100) continue; echo $v; }

Tehnologii Web
Urmatorul exemplu ilustreaza efectul folosirii argumentelor pentru instructiunea continue.
<?php $i = 0; while($i++ < 3) { echo "Ciclul #1 <br>\n"; while(1) { echo "&nbsp;&nbsp;Ciclul #2 <br>\n"; while (1) { echo "&nbsp;&nbsp;Ciclul #3<br>\n"; continue 3; } echo "Acest mesaj nu va fi afisat niciodata.<br>\n"; } echo "Nici acest mesaj nu va fi afisat niciodata.<br>\n"; } ?>

9. Alte instructiuni PHP Exista si alte structuri PHP care pot fi utilizate in anumite scopuri. Printre ele putem aminti: include, require, include_once si require_once, care pot fi utilizate pentru a "insera" anumite instructiuni care sunt pastrate intr-un alt fisier (document). Functiile PHP trebuie sa utilizeze instructiunea return pentru a furniza un rezultat. Exercitii 1. Instalati distributia XAMPP (www.apachefriends.org) 2. Lansati in executie serverul Apache folosind XAMPP Control Panel. Testati daca serverul este activ prin accesarea adresei http://localhost in browserul web. 3. Identificati directorul root al serverului web. 4. Testati scripturile PHP prezentate in tutorial. 5. Realizati un script PHP care testeaza daca browser-ul este IE sau Mozilla. Indicatie: Se testeaza valoarea variabilei globale $HTTP_USER_AGENT Bibliografie 1. Conf.dr.Cristina Mndruta, Programare in Web, Note de curs. 2. Cristina Mndru, Arhitecturi, Tehnologii si Programare in Web, Matrix Rom Bucuresti 2005 3. Sabin Corneliu Buraga, Tehnologii Web, Matrix Rom, Bucuresti 2001 4. PHP website, http://ro.php.net/ 5. Valentin Ivascu, Initiere in PHP si MySQL