Cum să începeți cu PHP – Un tutorial pentru începători
PHP este unul dintre cele mai comune limbaje de programare pentru programarea pe partea de server. Cu timpul, a devenit parte integrantă a site-urilor web contemporane și a tehnologiilor Internet. Cu toate acestea, stăpânirea limbajului PHP poate fi dificilă pentru începători. În acest tutorial PHP, vă vom arăta noțiunile de bază ale acestui limbaj de programare popular, precum și cei mai importanți operatori, bucle și funcții ale acestuia.
Ce trebuie să aveți înainte de a începe tutorialul PHP
Tutorialul nostru se adresează în primul rând începătorilor. Cu toate acestea, o înțelegere de bază a dezvoltării web moderne și a limbajului HTML poate fi utilă. Pentru a urmări și reproduce exemplele pe propriul computer, asigurați-vă că aveți pregătite următoarele:
- Server web incluzând interpret PHP
- PHP instalat
- Browser web
- Editor de text
Ca server, recomandăm mediul de testare local XAMPP, pe care Apache Friends îl oferă gratuit pentru sistemele de operare Windows, Linux și macOS. XAMPP este un server de testare pur. Dezvoltatorii web pot utiliza software-ul pentru a configura cu ușurință medii de testare pentru scripturi, pagini HTML și foi de stil. Cu toate acestea, funcționarea sigură a serverului web pe internet nu este garantată. Instrucțiuni detaliate de instalare pot fi găsite în tutorialul nostru XAMPP.
Care este sintaxa PHP?
După ce ați configurat serverul web local (de exemplu, folosind XAMPP), este recomandat să verificați dacă PHP a fost instalat corect și este gata să execute scripturi. Un script este un program care nu este compilat în cod binar. În schimb, acestea sunt executate de un interpret. Deschideți editorul de text preferat și aplicați următorul script PHP:
<?php
phpinfo();
?>php
Scripturile PHP urmează o structură specifică. Eticheta PHP de deschidere <?php inițiazăun mediu de script. Aceasta este urmată de codul PHP propriu-zis sub formă de instrucțiuni. În exemplul de mai sus, aceasta este apelul cătrefuncțiaphpinfo(). Majoritatea funcțiilor PHP necesită unul sau mai mulți parametri, care sunt încadrați între paranteze. Pentru phpinfo(), acești parametri sunt opționali:phpinfo(INFO_ALL). Fiecare instrucțiune se termină cu un punct și virgulă (;). Pentru a încheia scriptul, utilizați eticheta PHP de închidere:?>.
Funcțiile sunt subrutine care permit externalizarea unor părți din codul programului. Pentru a evita repetițiile, sarcinile recurente pot fi definite o singură dată ca funcție și apoi apelate folosind un nume de funcție. Dezvoltatorii web utilizează funcții PHP predefinite în acest scop sau creează propriile subrutine.
Salvați fișierul text sub numele test în format .php (script PHP) și lansați serverul web. Dacă utilizați mediul de testare XAMPP, salvați test.php în directorul XAMPP sub htdocs (C:\xampp\htdocs).
Puteți accesa fișierul exemplu prin intermediul următoarei adrese URL în browserul web: http://localhost/test.php. Dacă utilizați un server web alternativ sau o configurație individuală a software-ului XAMPP, selectați adresa URL în funcție de calea de fișier respectivă.
Când introduceți adresa URL http://localhost/test.php, solicitați browserului web să solicite fișierul test.php de la serverul web. Serverul HTTP Apache (sau orice alt tip de software de server web pe care îl utilizați) preia fișierul din directorul corespunzător. Extensia .php indică faptul că fișierul conține cod PHP. În acest moment, interpretorul PHP integrat în serverul web devine activ. Acesta procesează documentul, întâlnind eticheta PHP de deschidere <?php, care semnalează inițierea codului PHP. Interpretorul continuă să execute codul PHP, generând ieșire HTML pe care serverul web o transmite browserului web pentru afișare. Dacă PHP a fost instalat corect, executarea scriptului va avea ca rezultat următoarea pagină web:

Funcția phpinfo() este o prescurtare pentru phpinfo( INFO_ALL ) implicită. Aceasta afișează informații detaliate despre configurația PHP a serverului dvs. web. Dacă nu se găsește nicio versiune PHP, browserul web afișează un mesaj de eroare sau transmite codul PHP către browser fără a-l interpreta.
„Hello World!” – Cum să afișezi text prin echo
După instalarea cu succes a PHP, este timpul să scrieți primul dvs. script. Puteți utiliza PHP echo pentru a face acest lucru. Spre deosebire de phpinfo(), echo nu este o funcție. Mai degrabă, este o construcție de limbaj care permite ca un șir ulterior să fie afișat ca text.
Construcțiile lingvistice sunt instrucțiuni utilizate în PHP pentru a controla fluxul programului. În plus față de echo, construcțiile lingvistice includ instrucțiuni precum if, for, do, include, return, exit sau the. Spre deosebire de funcții, nu sunt necesare paranteze.
Pentru primul script personalizat, creați un fișier PHP nou și introduceți următorul cod:
<?php
echo 'Hello World!';
?>phpEticheta de deschidere <?php lansează un mediu de script. Este urmată de construcția lingvistică echo și de șirul Hello World!, care este încadrat între ghilimele simple. Utilizați eticheta ?> pentru a încheia scriptul. Observați punctul și virgula după instrucțiune. În locul Hello World! poate fi utilizat orice text.
Salvați scriptul ca hello.php în directorul htdocs de pe serverul dvs. web. Apoi, accesați fișierul folosind adresa URL http://localhost/hello.php în browserul dvs. web. Dacă codul a fost transferat corect, fereastra browserului ar trebui să afișeze șirul pe care l-ați utilizat:

Orice text generat cu echo poate include etichete HTML, după cum este necesar. Aceste etichete vor fi interpretate de browserul web în conformitate cu specificațiile HTML. Experimentați acest concept folosind următorul script, de exemplu:
<?php
echo '<h1>Hello World!</h1>
<p>This is my first PHP page.</p>';
?>phpCând este apelat în browserul web, rezultatul executării scriptului este afișat după cum urmează.

Textul Hello World!, care este încadrat de <h1> etichete, este interpretat de browserul web ca un titlu principal. Acesta este urmat de o întrerupere automată de linie și de paragraful de text dintre etichetele <p>.
În funcție de cerințele dvs., puteți utiliza echo cu ghilimele simple (’) sau ghilimele duble (“). Dacă afișați doar text, alegerea ghilimelelor nu contează. Cu toate acestea, această distincție devine importantă atunci când aveți de-a face cu variabile PHP.
Variabile
Construcția limbajului echo oferă mai mult decât simpla afișare a textului. În timp ce prezentarea textului poate fi realizată deja în mod eficient folosind HTML, adevăratul avantaj al utilizării construcției limbajului PHP echo constă în capacitatea sa de a produce text în mod dinamic folosind variabile.
Utilizatorii PHP întâlnesc frecvent variabile în următorul format: $example
Fiecare variabilă este formată dintr-un semn dolar ($) urmat de numele variabilei. Variabilele sunt utilizate în scripturile PHP pentru a încorpora date externe în paginile web. Ele pot cuprinde diverse tipuri de valori, de la numere și șiruri de caractere simple până la texte complete sau structuri de documente HTML. PHP distinge între șapte tipuri diferite de variabile:
| Tip variabil | Descriere |
|---|---|
| Șir | Un șir este o secvență de caractere. Poate reprezenta un cuvânt, o frază, un fragment de text sau chiar întregul cod HTML al unei pagini web. |
| Număr întreg | Un număr întreg este un număr fără zecimale. Acesta poate fi pozitiv sau negativ. |
| Număr | Un număr cu virgulă mobilă este un număr cu virgulă mobilă. Acesta este o valoare numerică cu zecimale. PHP acceptă până la 14 cifre după virgulă. |
| Boolean | Variabilele booleene sunt rezultatul unei operații logice și au doar două valori: TRUE (adevărat) și FALSE (fals). Acest tip de variabilă este utilizat atunci când se lucrează cu condiții. |
| Array | Un array este o variabilă care poate conține mai multe elemente. Este o grupare de mai multe date structurate similar, care au fost combinate într-un array. |
| Obiect | Tipul de variabilă obiect permite programatorilor să definească propriile tipuri de date. Este utilizat în programarea orientată pe obiecte. Am inclus variabile obiect în acest tutorial PHP. |
| NULL | Valoarea NULL reprezintă o variabilă fără valoare. Pentru variabilele de acest tip, NULL este singura valoare posibilă. |
Centralizarea conținutului este gestionată de obicei prin intermediul sistemelor de baze de date. Cu toate acestea, valorile variabile pot fi atribuite direct și în script. Acest tip de atribuire utilizează următorul model:
$example = "value";phpSemnul dolarului este urmat de numele variabilei (în acest caz , example). Acesta este legat de semnul egal (=) cu o valoare încadrată între ghilimele duble. Valorile variabilelor de tip întreg și flotant sunt scrise fără ghilimele (de exemplu, $example = 24;și $example= 2.7;).
PHP oferă flexibilitate în denumirea variabilelor. Cu toate acestea, se aplică anumite restricții:
- Fiecare variabilă începe cu un semn dolar.
- Un nume de variabilă este orice șir de litere, cifre și caractere de subliniere (de exemplu, $example_1).
- Un nume de variabilă valid începe întotdeauna cu o literă sau un caracter de subliniere ($example1 sau $_example), niciodată cu o cifră (greșit: $1example).
- PHP este sensibil la majuscule și minuscule. Limbajul de script face distincție între majuscule și minuscule ($example ≠ $Example).
- Numele variabilei nu trebuie să conțină spații sau întreruperi de linie (greșit: $example 1).
- Șirurile rezervate de PHP pentru alte scopuri nu pot fi utilizate ca variabile definite de utilizator (de exemplu,$this).
Să ilustrăm acest lucru cu un exemplu:
<?php
$author = "John Doe";
echo "<h1>Hello World!</h1>
<p>This dynamic web page was created by $author.</p>";
?>phpEticheta PHP de deschidere este urmată de definiția variabilei. În acest caz, variabilei $author i se atribuie valoarea John Doe. La executarea scriptului, fiecare instanță a variabilei $author din script este înlocuită cu valoarea John Doe în mediul scriptului. O reprezentare vizuală a acestui proces în browserul web este ilustrată în diagrama următoare:

Dacă pagina web trebuie atribuită lui Max Mustermann, colegul german al lui John Doe, și nu lui John Doe, puteți remedia această situație modificând variabila $author.

Acest lucru este deosebit de eficient dacă o variabilă apare de mai multe ori într-un script. În acest caz, corectarea ar trebui făcută doar într-un singur punct. Și anume, acolo unde este definită valoarea variabilei.
Acest lucru ilustrează puterea PHP: conținutul poate fi încorporat folosind variabile. Această caracteristică stă la baza dezvoltării web dinamice. Spre deosebire de paginile web statice, care există ca pagini HTML pre-renderizate, paginile web dinamice sunt generate numai atunci când pagina este accesată. Interpretorul PHP preia elemente distincte ale paginii web solicitate din diverse baze de date prin intermediul variabilelor și le compilează într-o pagină HTML personalizată, care se aliniază cu solicitarea specifică.
Avantajele acestei abordări sunt evidente. Atunci când elementele site-ului web (de exemplu, în secțiunea de subsol) sunt modificate, nu sunt necesare ajustări manuale pe fiecare subpagină în parte. Este suficientă actualizarea intrării corespunzătoare în baza de date. Drept urmare, revizuirile sunt aplicate automat tuturor paginilor web care conțin datele relevante ca variabile. Dacă o variabilă este definită de mai multe ori într-un script, noua definiție o înlocuiește pe cea anterioară. O ecou ulterioară afișează întotdeauna valoarea curentă a unei variabile.
<?php
$author = "John Doe";
echo "<h1>Hello World!</h1>
<p>This dynamic web page was created by $author.</p>";
$author = "Max Mustermann";
echo " <p>Supported by $author.</p>";
?>php
În exemplul de cod, variabilei $author i s-a atribuit mai întâi valoarea John Doe, apoi a fost înlocuită cu valoarea Max Mustermann.
Acum să trecem la subiectul ghilimelelor. Spre deosebire de șirurile de caractere, variabilele simple nu trebuie să fie încadrate între ghilimele:
<?php
$author = "John Doe";
echo $author;
?>phpCu excepția cazului în care variabila trebuie utilizată într-un șir de caractere. În acest caz, utilizați ghilimele duble (“). Aceasta indică interpretorului PHP să scaneze șirul de caractere în căutarea variabilelor și să le înlocuiască cu valorile corespunzătoare, după cum este necesar. Șirurile de caractere între ghilimele simple (’) sunt interpretate și redate ca informații text simplu, chiar și atunci când conțin variabile.
<?php
$author = "John Doe";
echo '<h1>Hello World!</h1>
<p>This dynamic web page was created by $author.</p>';
?>php
Poate că vă întrebați ce se întâmplă dacă omiteți complet ghilimelele. În acest caz, PHP le indică ca fiind o eroare sintactică.
Mesaje de eroare și mascare
Dacă apar erori sintactice, nu există cod PHP valid și interpretorul PHP afișează un mesaj de eroare. Acest lucru se poate întâmpla, de exemplu, dacă utilizați instrucțiunea echo cu un șir fără ghilimele:
<?php
echo Hello World!;
?>phpMesajele de eroare conțin, în majoritatea cazurilor, informații despre locul în care a apărut eroarea, oferind informații importante despre modul în care aceasta poate fi eliminată.

În exemplul actual, se suspectează o eroare în linia 2 a codului programului nostru. Exact aici am omis ghilimelele.
Erorile sintactice apar și atunci când doriți să afișați caractere ca text asociate cu o sarcină specifică în PHP. Un exemplu în acest sens este ghilimelele (’). Caractere de acest tip pot fi afișate ca text în PHP numai dacă indicați interpretului că funcția inerentă a caracterului a fost neutralizată. În cazul ghilimelelor simple, există două moduri de a face acest lucru. Puteți încadra un șir între ghilimele simple între ghilimele duble sau puteți masca ghilimelele cu o bară oblică inversă (\):
<?php
echo '\'Hello World!\' ';
?>php
Combinarea ghilimelelor simple și duble este, de asemenea, o abordare viabilă:
<?php
echo " 'Hello World!' ";
?>phpCu toate acestea, nu această ortografie:
<?php
echo ' 'Hello World!' ';
?>phpSpațiile dintre ghilimele au fost inserate în exemple pentru a facilita citirea.
Operatori de concatenare
Pentru a afișa mai multe variabile simultan într-un script PHP, puteți folosi ceea ce ați învățat până acum și puteți proceda astfel:
<?php
$author1 = "John Doe";
$author2 = "Max Mustermann";
echo "<h1>Hello World!</h1>
<p>This dynamic web page was created by $author1 and $author2.</p>";
?>phpPur și simplu scrieți ambele variabile în șirul între ghilimele duble, împreună cu restul textului care trebuie afișat. PHP recunoaște automat variabilele prin semnul dolarului ($) și inserează valorile corespunzătoare.

Cu toate acestea, printre programatori, această procedură este considerată incorectă. Există o regulă de programare conform căreia variabilele nu trebuie să facă parte din șirul de caractere. Unul dintre motive este că multe limbaje de programare impun această separare. Mai important, PHP impune, de asemenea, separarea șirului de caractere și a variabilei atunci când se lucrează cu apeluri de funcții sau variabile mai complexe. Din acest motiv, este mai bine să le păstrați separate și în ieșirea de text simplu, chiar dacă în acest caz nu este absolut necesar.
Când lucrați cu variabile, va trebui să aveți de-a face întotdeauna cu mai multe elemente care trebuie concatenate în timpul ieșirii. În PHP, operatorul de concatenare (.) este utilizat în acest scop. Dacă este programat „curat”, codul pentru exemplul de mai sus ar trebui să arate astfel:
<?php
$author1 = "John Doe";
$author2 = "Max Mustermann";
echo '<h1>Hello World!</h1>
<p>This dynamic web page was created by ' . $author1 . ' and ' . $author2 . '.</p>';
?>php
Aici avem de-a face cu trei șiruri și două variabile care au fost concatenate într-un singur șir.
| Șir1 | Variabila1 | Șir2 | Variabilă2 | Șir3 | ||||
|---|---|---|---|---|---|---|---|---|
| ’<h1>Hello World!</h1> <p>Această pagină web dinamică a fost creată de ’ | . | $autor1 | . | ’ și ’ | . | $autor2 | . | ”.</p>” |
Este important să menționăm că un operator de concatenare combină șiruri de caractere sau variabile fără a introduce spații. Dacă se dorește introducerea unui spațiu, acesta trebuie inclus în mod explicit între ghilimele din șirul de caractere, așa cum se arată în exemplu.
Programatorii utilizează operatorul de concatenare nu numai pentru a combina șiruri de caractere și variabile pentru ieșirea textuală, ci și pentru a extinde variabilele. Următorul exemplu ilustrează modul în care se realizează acest lucru:
<?php
$example = 'Hello ';
$ example .= 'World';
echo $ example;
?>phpPentru a extinde valoarea unei variabile, definiți-o din nou, dar puneți operatorul de concatenare punct (.) înainte de semnul egal. Aceasta este notația prescurtată obișnuită pentru $example = $example . „world”.
PHP va adăuga noua valoare la cea definită anterior. Dacă doriți un spațiu între cele două valori, scrieți-l la sfârșitul primului șir, așa cum se arată în exemplu.

Încorporați PHP în HTML
În principiu, interpretorul PHP este interesat doar de codul care se află între o etichetă PHP de deschidere și una de închidere:
<?php [This section is parsed by the PHP interpreter] ?>
Interpretorul ignoră toate secțiunile rămase ale documentului și le transmite serverului web fără a le modifica. Drept urmare, codul PHP poate fi încorporat fără probleme în documentele HTML, după cum este necesar, de exemplu, atunci când se creează șabloane pentru sisteme de gestionare a conținutului. Este esențial să salvați documentele HTML care conțin cod PHP cu extensia de fișier PHP. În caz contrar, documentul va fi prezentat direct browserului web fără a fi preprocesat de interpretul PHP. Acest scenariu ar duce la afișarea codului ca text pe site-ul web.
Puteți considera interpretorul PHP ca fiind colegul leneș al serverului web, care lucrează numai atunci când i se cere în mod explicit să o facă, de exemplu, printr-o etichetă PHP de deschidere.
Pentru a combina HTML și PHP, scrieți pagina HTML în structura clasică a documentului și salvați-o cu extensia de fișier .php:
<html lang="de">
<head>
<meta charset="utf-8">
<title>My first PHP page</title>
</head>
<body>
<h1>Hello World</h1>
<p>What is the current time and date?</p>
</body>
</html>htmlAcum adăugați un script PHP la documentul HTML. Asigurați-vă că tot codul se află în interiorul etichetelor PHP.
<html lang="de">
<head>
<meta charset="utf-8">
<title>My first PHP page</title>
</head>
<body>
<h1>Hello World</h1>
<p>What is the current time and date?</p>
<p>Your current time and date is:
<?php
echo date("d.m.Y H:i:s");
?>.</p>
</body>
</html>htmlÎn acest caz, am combinat construcția lingvistică echo cu funcția PHP date() pentru a afișa data și ora curente ca text pe partea de server. Parametrul funcției desemnează formatul preferat, indicat ca șir de caractere:
d.m.Y H:i:s = zi.lună.an oră:minut:secundă.
Când un browser web solicită un astfel de fișier, interpretorul PHP execută inițial scriptul, încorporând ora curentă ca text în documentul HTML. Ulterior, serverul web transmite acest document, care este apoi afișat în browser ca pagină web.

Funcția de comentariu PHP
La fel ca în codul HTML, puteți lăsa comentarii și în codul PHP. Comentariile din codul sursă sunt ignorate de interpretorul PHP, atâta timp cât respectă regulile de sintaxă. PHP oferă trei metode distincte de comentare.
Pentru a desemna o linie întreagă ca comentariu și, astfel, a o exclude din interpretare, puteți utiliza fie hashtagul (#), fie două bare consecutive (//). Ambele opțiuni sunt utilizate în exemplul de cod următor:
<?php
#This is a single-line comment!
echo '<h1>Hello World!</h1>
<p>This is my first PHP page.</p>';
//This is also a single-line comment!
?>phpEditorul de text Notepad++ evidențiază comentariile în verde. Spre deosebire de comentariile HTML, secțiunile de text etichetate ca comentarii în mediul script nu ajung în browserul web. Această distincție apare deoarece interpretorul PHP le ignoră deja în timpul executării scriptului.

În plus, puteți insera comentarii care se întind pe mai multe rânduri. Pentru a face acest lucru, marcați începutul unei secțiuni de comentarii cu o bară oblică urmată de un asterisc (/*) și sfârșitul cu un asterisc urmat de o bară oblică (*/).
<?php
/*
This is a multiple-line comment block
that spans over multiple
lines
*/
echo '<h1>Hello World!</h1>
<p>This is my first PHP page.</p>';
?>phpAstfel de comentarii nu sunt analizate și nu apar pe site-ul web.

Programatorii utilizează comentarii pentru a structura codul sursă al scripturilor lor, pentru a lăsa note pentru editare ulterioară sau pentru a adăuga informații interne la compilare, cum ar fi autorul sau data. Comentariile sunt opționale și trebuie utilizate cu moderație pentru a asigura o bună lizibilitate a codului sursă.
Calcularea cu variabile
În tutorialul nostru PHP, ați întâlnit deja variabile, care conțin în principal valori de tip șir de caractere. Acum, să aprofundăm variabilele care reprezintă numere întregi sau zecimale. Când variabilele stochează valori numerice, PHP permite efectuarea de calcule cu acestea. Să începem cu adăugarea a două numere întregi:
<?php
$number1 = 237;
$number2 = 148;
$result = $number1 + $number2;
echo "result: " . $result;
?>phpMai întâi, atribuim numerele întregi 237 și 148 variabilelor $number1 și $number2, apoi definim variabila $result. Aceasta este utilizată pentru a stoca suma variabilelor $number1 și $number2. Pentru această operație, utilizăm operatorul aritmetic +(plus). În final, afișăm suma sub formă de text utilizând construcțiade limbaj echo. Rețineți că nu este necesar să utilizați ghilimele atunci când atribuiți valori numerice variabilelor.

Următorul exemplu de cod prezintă o selecție de calcule matematice care pot fi efectuate pe server cu PHP. Operatorii PHP utilizați corespund în mare parte simbolurilor matematice standard.
| Operator aritmetic | Operație | Rezultat |
|---|---|---|
| $număr1 + $număr2 | Adunare | Suma dintre $număr1 și $număr2 |
| $număr1 - $număr2 | Scădere | Diferența dintre $număr1 și $număr2 |
| $număr1 *$număr2 | Înmulțire | Produsul dintre $număr1 și $număr2 |
| $număr1 / $număr2 | Împărțire | Cotul dintre $număr1 și $număr2 |
| $număr1 **$număr2 | Putere | Puterea a $număr2-lea a lui $număr1 |
<?php
$number1 = 10;
$number2 = 5;
$addition = $number1 + $number2; //addition
$subtraction = $number1 - $number2; //subtraction
$multiplication = $number1 * $number2; //multiplication
$division = $number1 / $number2; //division
$power = $number1 ** $number2; //power
?>php<?php
echo "Result of addition: " . $addition ."<br />";
echo "Result of subtraction: " . $subtraction . "<br />";
echo "Result of multiplication: " . $multiplication . "<br />";
echo "Result of division: " . $division . "<br />";
echo "10 to the 5th power (10^5): " . $power . "<br />";
echo "root of 81: " . sqrt(81) . "<br />";
?>php
Pentru calcule complexe, diverse operații aritmetice pot fi combinate într-un singur script:
<?php
$number1 = 10;
$number2 = 5;
$result = 2 *$number1 + 5* $number2 - 3 * sqrt(81);
echo "Result: " . $result;
?>phpInterpretorul PHP determină valorile variabilelor și calculează:
2 *10 + 5* 5 - 3 * √81 = 20 + 25 - 27 = 18
Funcția sqrt() calculează rădăcina pătrată a parametrului dintre paranteze. Se aplică ordinea clasică a operatorilor din matematică: punctul înaintea liniuței. Instrucțiunea echo afișează rezultatul sub formă de șir de caractere pentru browserul web.

PHP evaluează mai întâi termenii între paranteze. De data aceasta vom lucra cu numere cu virgulă mobilă:
<?php
$number1 = 2.5;
$number2 = 3.7;
$result = 2 *($number1 + 5)* ($number2 - 3) * sqrt(81);
echo "Result: " . $result;
?>php
Ca toate limbajele de programare obișnuite, PHP permite operatorilor să incrementeze sau să decrementeze valori numerice cu valoarea 1. Se face distincție între operatorul de pre-incrementare, operatorul de pre-decrementare, operatorul de post-incrementare și operatorul de post-decrementare.
| Operațiuni | Operator | Rezultat |
|---|---|---|
| Pre-increment | ++$număr | Operatorul ++ incrementează valoarea variabilei $număr. Valoarea este incrementată cu 1. Rezultatul este returnat ca nouă valoare a variabilei $număr. |
| Pre-decrement | –$număr | Operatorul – decrementează valoarea variabilei $number. Aceasta decrementează valoarea cu 1. Rezultatul este returnat ca nouă valoare a $number. |
| Post-incrementare | $number | Valoarea curentă a $number este mai întâi returnată și apoi incrementată cu 1. |
| Post-decrementare | $number– | Valoarea curentă a lui $number este mai întâi returnată și apoi scăzută cu valoarea 1. |
Mai întâi, vom ilustra modul de efectuare a operațiilor aritmetice cu operatori de incrementare și decrementare, oferind un exemplu cu pre-incrementare. Următorul script incrementează valoarea variabilei $number cu 1, stochează noua valoare în variabila $result și apoi afișează valoarea acesteia sub formă de șir:
<?php
$number = 0;
$result = ++$number;
echo "Result: " . $result;
?>phpDacă crești valoarea 0 cu 1, obții rezultatul 1.

Pentru a calcula pre-decrementarea variabilei $number, folosim aceleași scripturi, dar înlocuim operatorul de pre-incrementare (++) cu operatorul de pre-decrementare (–):
<?php
$number = 0;
$result = --$number;
echo "Result: " . $result;
?>phpAici, scădem valoarea 0 a variabilei $number și obținem rezultatul -1.

O creștere înainte și după ieșire (pre- vs. post-…) a unei valori poate fi demonstrată cu ajutorul următorului script:
<?php
$x = 0;
echo '<p>result: ' . ++$x;
echo '<br>x has the value ' . $x;
echo '<p>result: ' . $x++;
echo '<br>x has the value ' . $x, '</p>';
?>phpÎn ambele cazuri, obținem același rezultat. Cu pre-increment, valoarea lui x este incrementată înainte de ieșirea din linia 3, în timp ce cu post-increment, aceasta este incrementată după ieșirea din linia 5.

Cum se utilizează superglobale $_GET și $_POST
Acum sunteți familiarizați cu noțiunile fundamentale ale limbajului PHP. Puteți lucra cu variabile, concatena și efectua calcule. În continuare, vom ilustra rolul esențial al variabilelor în scripting.
O funcție importantă a limbajelor de scriptare este capacitatea lor de a evalua datele introduse de utilizator și de a transfera valorile către un alt script. PHP se bazează pe superglobale $_GET și $_POST—variabile de sistem predefinite disponibileîn toate domeniile — pentru transferul de date. Ca matrice asociative (câmpuri de date),$_GET și $_POST stochează un set de variabile sub formă de șiruri de caractere într-o variabilă.
Matricile PHP pot fi comparate cu un dulap cu mai multe sertare. Fiecare dintre aceste sertare oferă un spațiu pentru stocarea datelor. Pentru a menține claritatea conținutului fiecărui sertar, le etichetați cu un nume de variabilă. În funcție de tipul matricei, acest identificator poate fi un index sau o cheie. În matricile indexate, atribuiți un index numeric fiecărui sertar, în timp ce în matricile asociative, etichetați sertarele folosind o cheie bazată pe șiruri de caractere.
Superglobalii $_GET și $_POST cuprind o colecție de variabile reprezentate ca chei, permițând accesul la valorile corespunzătoare. Vom aprofunda acest aspect atunci când vom explora în detaliu superglobalii $_GET și $_POST.
Transferul datelor prin $_GET
Superglobalul $_GET reprezintă un șir de variabile care sunt transmise unui script PHP folosind o adresă URL.
Dacă petreceți timp pe bloguri,în magazine online șipe forumuri de internet, probabil ați observat unele adrese URL ciudate. De obicei, acestea sunt structurate după următorul model:
http://hostname/ordner/filename.php?variablenname=variablevalue
Pentru un blog, schema ar putea arăta astfel:
http://www.example-blog.com/index.php?id=1
Descompunerea unei astfel de adrese URL este relativ simplă. Pe un server web care are domeniul example-blog.com se află un fișier numit index.php. Acest fișier este utilizat pentru a crea pagini web dinamice și conține de obicei cod HTML și PHP, împreună cu referințe la fișiere șablon externe și foi de stil — în esență, toate componentele necesare pentru afișarea paginii web.
Adăugarea id=1 într-o adresă URL este o modalitate obișnuită de a afla dacă o pagină web este dinamică. Aceasta se află după semnul întrebării (?) într-o adresă URL. Această componentă este cunoscută sub numele de șir de interogare HTTP și conține o variabilă (id) și o valoare (1), care sunt legate printr-un semn egal (=). Parametrii URL de această natură sunt utilizați pentru a genera pagini web dinamice, pentru a recupera conținutul bazei de date și pentru a declanșa șabloanele corespunzătoare.
Site-urile web dinamice permit separarea conținutului de prezentare. Deși index.php conține informații despre structura unui site web, acesta trebuie totuși completat cu conținut. Acesta este de obicei stocat într-o bază de date și poate fi accesat folosind parametri în șirul de interogare HTTP. În exemplul dat, URL-ul index.php transmite parametrul id=1. Acesta specifică conținutul care trebuie citit din baza de date și încărcat în index.php. În contextul unui blog, acesta ar putea fi ID-ul unui articol; pentru un forum, o anumită postare. Pentru un magazin online, ar putea fi un produs specific.
Dacă o adresă URL conține mai mult de un parametru, acestea sunt conectate cu un simbol & (ampersand).
www.example-blog.com/index.php?page=article&id=1
Mai jos vă vom arăta cum să utilizați $_GET. Pentru acest exemplu, nu este necesar să utilizați o bază de date. În scriptul următor, utilizăm superglobalul $_GET pentru a citi valorile variabilelorfirstname și lastname dintr-un șir de interogare HTTP și pentru a le scrie în variabilele PHP $variable1 și $variable2:
<?php
$variable1 = $_GET['firstname'];
$variable2 = $_GET['lastname'];
echo "Hello " . $variable1 . " " . $variable2 . "!";
?>phpScriptul este apelat prin următoarea adresă URL:
localhost/hello.php?firstname=John&lastname=Doe.
Parametriifirstname=Johnandlastname=Doe au fost transmise. Afișarea valorilor se face la fel ca înainte, folosind construcția de limbaj echo.

Un transfer de date prin $_GET duce inevitabil la afișarea datelor transferate în bara de adrese. Acest lucru înseamnă că parametrii care au fost transferați pot fi urmăriți. Avantajul este că variabilele pot fi stocate în hyperlinkuri. În plus, utilizatorii au opțiunea de a salva adresele URL, inclusiv șirul de interogare HTTP, ca marcaje în browserul lor.
Cu toate acestea, faptul că parametrii GET sunt listați în text simplu în URL face ca această metodă să fie incompatibilă cu transferul de date sensibile, cum ar fi datele generate de formularele online. În plus, cantitatea de date care poate fi transmisă folosind $_GET este limitată de lungimea maximă a URL-urilor.
Puteți ocoli aceste restricții cu metoda HTTP POST. Datele transmise cu această metodă pot fi găsite în superglobalul $_POST.
Transferul datelor prin $_POST
În timp ce în metoda GET datele sunt transmise ca parametru URL, cu $_POST transferul de date are loc în corpul unei cereri HTTP. Acest lucru face posibilă chiar și transmiterea unor cantități mari de date de la un script la altul.
Un domeniu central de aplicare al metodei HTTP POST este transferul datelor din formularele HTML. Vom demonstra acest lucru folosind exemplul abonării la un buletin informativ.
Pentru a face acest lucru, creați un nou fișier PHP cu numele page1.php și copiați următorul bloc de cod:
<form method="post" action="page2.php" >
Please send your newsletter to: <br />
Your name: <input type="text" name="first name" /><br />
Your surname: <input type="text" name="lastname" /><br />
Your email address: <input type="text" name="email" /><br />
<input type="submit" value="Send form" />
</form>phpElementul HTML <form> este utilizat pentru a crea formulare. Eticheta de început conține două atribute:method și action. Cu ajutorul atributului method definiți metoda de transmitere, în acest caz HTTP-POST. În atributul action stocați adresa URL a unui script care primește toate datele introduse prin câmpurile de introducere ulterioare. Exemplul prezintă un formular HTML cu trei elemente de introducere (input type=„text”) și un buton de trimitere (input type=„submit”). Fișierul page2.php este definit ca destinatar al datelor.
Pentru a ilustra transferul de date folosind $_POST, vom utiliza un script simplu pentru a evalua datele formularului, care stochează valorile trimise ca variabile PHP și le afișează sub formă de text. Pentru a face acest lucru, creați un fișier page2.php și inserați următorul cod de program:
<?php
$name = $_POST["name"];
$surname = $_POST["lastname"];
$email = $_POST["email"];
echo "Hello " . name . " " . $lastname . ", <br />
You have registered with the following e-mail address:" . $email . ".";
?>phpSalvați cele două fișiere PHP în folderul htdocs al serverului dvs. de testare și accesați pagina page1.php din următoarea adresă URL în browserul dvs. web: http://localhost/page1.php. Browserul dvs. vă va afișa acum interfața web interactivă a formularului HTML.

Introduceți datele de autentificare și apăsați butonul „Trimite” pentru a transfera variabilele dintr-un script în altul. După ce confirmați datele introduse în pagina1.php, veți fi redirecționat imediat către pagina2.php. Fereastra browserului va afișa rezultatul executării scriptului pe baza datelor trimise.

Datele introduse de utilizator prin intermediul câmpurilor de introducere din pagina1.php vor fi recuperate de pagina2.php prin:
$_POST["input field name"]
Linia $firstname = $_POST[„firstname”] preia datele introduse în câmpul de introducere firstname și le stochează în variabila $firstname. Variabila $firstname poate fi, la rândul său, afișată ca șir de caractere folosind echo.
Cum se utilizează operatorii de comparare PHP și construcția IF
Până acum am definit variabile, le-am transferat dintr-un script în altul și le-am afișat sub formă de șiruri de caractere. În pasul următor, veți învăța să legați execuția fragmentelor de cod de anumite condiții.
Constructul lingvistic if vă permite să scrieți scripturi astfel încât instrucțiunile să aibă efect numai atunci când este îndeplinită o condiție pe care o definiți, de exemplu, introducerea parolei corecte.
Condițiile sunt definite în PHP conform următorului cadru de bază:
<?php
if(expression)
{
statement;
}
?>phpAceasta se citește după cum urmează: Dacă condiția descrisă în expresie este îndeplinită, instrucțiunea va fi executată. O condiție este întotdeauna îndeplinită dacă construcția if returnează rezultatul TRUE (adevărat). În caz contrar, este considerată FALSE (fals). În acest caz, instrucțiunea va fi omisă.
De obicei, construcția if verifică dacă valoarea unei variabile corespunde cu ceea ce a fost definit în condiție. Această structură de control este realizată de obicei pe baza operatorilor de comparație.
Operatori de comparație
Operatorii de comparație sunt utilizați în formularea condițiilor pentru a pune două argumente într-o relație logică care poate fi evaluată ca adevărată (TRUE) sau falsă (FALSE). Când operatorii de comparație sunt utilizați în structurile de control PHP, aceștia sunt aplicați la două variabile în expresia unei construcții if:
if ($a == $b)
{
statement;
}phpÎn termeni lingvistici, structura de control este următoarea: dacă variabila $a este egală cu variabila $b, atunci instrucțiunile definite în instrucțiune sunt executate.
Operatorii de comparație PHP se bazează pe limbajul de programare C, iar notația lor diferă considerabil de simbolurile matematice clasice. O prezentare generală poate fi găsită în tabelul de mai jos.
| Operator de comparație | Descriere | Condiție |
|---|---|---|
| == | egal | Condiția este îndeplinită dacă $a și $b au aceeași valoare. |
| === | este identic | Condiția este îndeplinită dacă $a și $b au aceeași valoare și aparțin aceluiași tip de date. Acest lucru poate fi ilustrat cu un exemplu în care un număr întreg (1) este comparat cu un șir de caractere („1”): 1 == „1” //TRUE 1 === „1” //FALSE Pentru condițiile care necesită ca două variabile să fie egale, este mai bine să utilizați întotdeauna operatorul relațional === (este identic). |
| != | este inegal | Condiția este îndeplinită dacă $a și $b au valori inegale. |
| !== | nu este identic | Condiția este îndeplinită dacă $a și $b au valori inegale sau aparțin tipurilor de date diferite. |
| `< * | este mai mic decât | Condiția este îndeplinită dacă valoarea* $a este mai mică decât valoarea $b*. |
| *>` | este mai mare decât | Condiția este îndeplinită dacă valoarea lui* $a este mai mare decât valoarea lui $b*. |
| <= | este mai mică sau egală cu | Condiția este îndeplinită dacă valoarea lui $a este mai mică decât valoarea lui $b sau dacă $a și $b au aceeași valoare. |
| >= | este mai mare sau egală cu | Condiția este îndeplinită dacă valoarea lui $a este mai mare decât valoarea lui $b sau dacă $a și $b au aceeași valoare. |
Următorul script ar trebui să clarifice această structură de control. Se compară două numere întregi. Se utilizează operatorul de comparație < (este mai mic):
<?php
$number1 = 10;
$number2 = 20;
if($number1 < $number2) {
echo "The condition is fulfilled";
}phpDefinim variabilele $number1 și $number2 și le atribuim valorile10 și 20. Apoi, stabilim o condiție: dacă $number1 este mai mică decât $number2, șirul de caractere listat în instrucțiunea echo trebuie afișat.
Rezultatul executării scriptului conține răspunsul: 10 este mai mic decât 20. Construcția if returnează rezultatul TRUE. Condiția este îndeplinită.

Pentru a defini instrucțiuni care sunt executate dacă o condiție nu este îndeplinită, adăugați construcția de limbaj else la instrucțiunea if pentru a forma o instrucțiune if-else în PHP:
<?php
if(condition a)
{
statement b;
}
else
{
statement c
}
?>phpAcest script verifică dacă condiția a returnează TRUE sau FALSE. Dacă condiția a este îndeplinită (TRUE), se execută instrucțiunea b. Dacă condiția a nu este îndeplinită (FALSE), instrucțiunea b este omisă și se execută în schimb instrucțiunea c.
Să extindem scriptul nostru cu construcția else și să înlocuim operatorul de comparație < (este mai mic) cu == (este egal):
<?php
$number1 = 10;
$number2 = 20;
if($number1 == $number2)
{
echo "The condition is fulfilled";
}
else
{
echo "The condition is not fulfilled";
}
?>phpDe data aceasta, construcția if returnează FALSE. Valoarea variabilei $number1 nu este egală cu valoarea $number2. Condiția nu este îndeplinită. Astfel, instrucțiunea listată sub if nu este executată, dar cea definită sub else este executată.

Pentru a lega executarea unui fragment de cod de două valori egale, în PHP se utilizează un semn dublu de egalitate (==). Un singur semn de egalitate (=) este utilizat pentru a atribui valori variabilelor.
Puteți nega condițiile punând un semn de exclamare (!) înaintea unei expresii.
<?php
$number1 = 10;
$number2 = 20;
if ($number1 == $number2)
{
echo "The numbers are the same.";
}
if (!($number1 == $number2))
{
echo "The numbers are not equal.";
}
?>phpAcest exemplu evidențiază condiția $number1 == $number2 și negația acesteia. !($number1 == $number2) este echivalent cu ($number1 != $number2).
O aplicație practică aifandelse este interogarea parolei pe baza unui formular HTML. Putem simula acest lucru folosind fișierele noastre PHP page1.php și page2.php.
Deschideți pagina1.php și lipiți următorul cod:
<form action="page2.php" method="post">
Please enter your password: <input type="password" name="password" />
<input type="submit" value="send" />
</form>phpStructura corespunde unui formular creat anterior. De data aceasta, însă, este suficient un singur câmp de introducere: solicitarea parolei. Ca și înainte, datele introduse de utilizator sunt transmise scriptului page2.php.
Putem adapta acest lucru folosind următorul cod, astfel încât parola introdusă să fie comparată cu o parolă stocată:
<?php
$password = $_POST["password"];
if($password=="qwertz123")
{
echo "The password was correct";
}
else
{
echo "The password was incorrect";
}
?>phpCodul poate fi explicat după cum urmează: inițial, atribuim o valoare variabilei $password din linia 2, pe care o recuperăm folosind metoda HTTP POST. Apoi definim următoarea structură de control: construcția if din linia 3 ar trebui să verifice dacă valoarea variabilei $password corespunde șirului qwertz123. Dacă este cazul, se afișează șirul Parola a fost corectă. Dacă if returnează rezultatul FALSE, se utilizează else în linia 7 și se afișează șirul Parola a fost incorectă.
Acum apelăm scriptul page1.php prin intermediul URL-ului http://localhost/page1.php.

Browserul afișează formularul HTML de solicitare a parolei. Introducem parola quertz123 definită în scriptul page2.php, apoi facem clic pe butonul Submit (Trimitere).

Browserul web ne redirecționează automat către pagina2.php, în timp ce structura de control if compară datele introduse de noi cu parola stocată. Rezultatul este*„qwertz123 == qwertz123* este *ADEVĂRAT”*și apoi afișează șirul de caractere Parola a fost corectă.
Testați singur pentru a vedea ce se întâmplă când introduceți o altă parolă în câmpul de introducere.
Operatori logici
Condițiile pe care le definiți folosind operatori de comparație în expresia construcției if pot fi combinate cu alte condiții din aceeași expresie, dacă este necesar. PHP se bazează pe operatorii logiciAND și OR.
| Legătură strânsă | Legătură slabă | Descriere | ||
|---|---|---|---|---|
| && | ȘI | Ambele condiții asociate operatorului trebuie să fie ADEVĂRATE. | ||
| *\ | \ | * | SAU | Doar una dintre cele două condiții asociate operatorului trebuie să fie ADEVĂRATĂ. |
Pentru a combina condiții, puteți utiliza operatori logici strâns legați și slab legați în PHP. În practică, utilizarea uneia dintre cele două forme nu va produce nicio diferență vizibilă. Dacă combinați ambele forme, veți observa că OR și || au o legătură mai strânsă decât AND și OR. De asemenea, AND și&& au o legătură mai strânsă decât OR și ||. Acest lucru este comparabil cu ierarhia operatorilor cunoscută din matematica operatorilor (de exemplu, punctul înaintea liniuței: *are o legătură mai strânsă decât +).
Solicitarea parolei oferă un exemplu practic. De obicei, datele de autentificare includ o parolă secretă și un nume de utilizator. Autentificarea are succes numai dacă ambele intrări corespund datelor stocate în sistem.
Acum, vom deschide din nou formularul de interogare a parolei în Page1.php și vom adăuga un câmp de introducere pentru numele de utilizator:
<form action="page2.php" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<input type="submit" value="Submit" />
</shape>phpÎn pasul următor, trebuie să ajustăm structura de control a construcției if. Folosim operatorul logic AND pentru a lega condiția pentru interogarea parolei cu o condiție pentru interogarea numelui de utilizator.
<?php
$username = $_POST["username"];
$password = $_POST["password"];
if($username=="John Doe" AND $password=="qwertz123")
{
echo "Welcome to the internal area" . $username . "!";
}
else
{
echo "Access failed";
}
?>phpÎn scriptul nostru page2.php, valorile pentruusername și password sunt obținute și salvate în variabilele $username și $password. Expresia din construcția if conține acum două condiții legate prin operatorul logic AND. Ambele condiții trebuie îndeplinite (username==„John Doe”și $password==„qwertz123”**)pentru ca ifsă returnezerezultatul TRUE.
În timp ce recuperăm numele de utilizator din câmpul de introducere username, îl putem folosi direct în ieșirea textuală folosind instrucțiunea echo. Welcome to the internal area este urmat de valoarea din $username. Dacă una dintre cele două condiții nu este îndeplinită, ieșirea textuală va fi: Access failed.

Operatorii logici pot fi combinați în orice mod. Rețineți că AND are o prioritate mai mare decât OR. La fel ca în ecuațiile matematice, PHP vă permite să utilizați paranteze pentru a indica prioritatea.
Cum se utilizează buclele (while, for)
Uneori, un script trebuie să parcurgă o anumită secțiune de cod de mai multe ori înainte de a executa restul codului programului. Limbajele de programare utilizează conceptul de bucle pentru acest lucru. Există trei tipuri de bucle în PHP:
- buclewhile
- bucledo-while
- buclefor
buclewhile
Bucla while este cel mai simplu tip de buclă în PHP. Iată structura de bază:
while (condition)
{
loop step and other instructions
}phpBucla while îi indică PHP să execute sub-instrucțiuni atâta timp cât condiția while este îndeplinită. Pentru a face acest lucru, interpretorul PHP verifică condiția la începutul fiecărei treceri a buclei. Executarea codului subordonat este oprită numai atunci când condiția while nu mai este îndeplinită.
Acest principiu poate fi ilustrat cu un script simplu de numărare:
<?php
$number = 1;
while ($number <= 10) {
echo $number++ . "<br />";
}
?>Conceptul de incrementare a fost introdus în secțiunea Calcularea cu variabile din acest tutorial. În scriptul următor, ne bazăm pe acest concept, dar cu o modificare. De data aceasta, folosim un operator de post-incrementare. Acesta mărește valoarea variabilei întregi $number cu 1 după fiecare iterație a buclei, imediat după afișarea textului echo. Stabilim condiția pentru bucla while după cum urmează: $number este mai mare sau egal cu 10. În consecință, instrucțiunea echo va fi executată în mod repetat până când $number depășește valoarea 10.

Rezultatul executării scriptului este un șir care afișează valoarea variabilei $number pentru fiecare trecere a buclei înainte de a fi incrementată. Ca rezultat, scriptul numără de la 1 la 10 și oprește executarea codului imediat ce condiția while nu mai este îndeplinită.
bucledo-while
Structura buclei do-while este similară cu cea a buclei while. Singura diferență este că condiția nu este verificată la începutul fiecărei treceri a buclei, ci numai la sfârșit. Schema de bază a unei bucle do-while este următoarea:
do {
loop step and other instructions
}
while (condition)phpProgramat ca o buclă do-while, scriptul anterior ar arăta astfel:
<?php
$number = 1;
do {
echo $number++ . "<br />";
}
while ($number <= 10);
?>phpÎn acest caz, rezultatul rămâne același. Ce este special la bucla do-while este că aceasta se execută cel puțin o dată, chiar dacă condiția nu este îndeplinită în niciuna dintre trecerile bucla.
buclefor
În general, bucla for dintr-un script PHP are aceeași funcție ca și bucla while. Spre deosebire de bucla while, însă, valoarea inițială, condiția și instrucțiunea sunt scrise pe o singură linie, în loc să fie repartizate pe trei sau mai multe linii. Structura de bază a buclei for este:
for (start value; condition; loop step)
instructionsphpExemplul de mai sus ar putea fi scris într-o formă mai compactă, sub forma unei bucle for:
<?php
for($number = 1; $number <= 10; $number++) {
echo $number . "<br /> ";
}
?>phpMai întâi, valoarea 1 este definită pentru $number. Apoi PHP verifică dacă condiția $number <= 1 este îndeplinită. Dacă este cazul, bucla continuă și instrucțiunile de sub buclă sunt executate (aici instrucțiunea este echo). Odată ce acest lucru a fost făcut, pașii buclei vor fi executați. În acest context, alegerea între pre- sau post-incrementare devine irelevantă, deoarece acest pas are loc întotdeauna înainte de ieșire. Odată ce pasul buclei se încheie, se inițiază iterația următoare a buclei.
Într-o buclă for, semănatul, condiția și pasul buclei sunt considerate componente opționale. În teorie, chiar și buclele goale sunt fezabile. Cu toate acestea, astfel de bucle ar fi redundante.
În principiu, depinde de tine dacă scrii scripturile PHP cu o buclă for sau while. Cu toate acestea, există un argument în favoarea alegerii buclelor for: atunci când se utilizează buclele for, ai o vizualizare mai bună a datelor cadrului bucla. Acest lucru evită riscul de a scrie accidental o buclă infinită care rulează până când memoria interpretorului este plină. Referindu-ne la exemplul anterior, acest lucru se poate întâmpla atunci când uiți să incrementezi valoarea variabilei $number.
Cu toate acestea, dacă bucla trebuie să fie executată cel puțin o dată, indiferent de condiție, bucla do-while este cea potrivită.
instrucțiunibreakandcontinue
Executarea unei bucle while, do-while sau for poate fi influențată de instrucțiunilebreak și continue. Utilizați break pentru a întrerupe fluxul unei bucle în orice moment și continue pentru a sări peste o trecere a buclei. Ambele instrucțiuni sunt legate de o condiție utilizând if. Următorul exemplu prezintă scriptul nostru de numărare cu o instrucțiune break:
<?php
for ($number = 1; $number <= 10; $number++) {
if ($number == 5) {
echo "If it is 5, we abort the script!";
break;
}
echo $number . "<br /> ";
}
?>phpÎn bucla for, am definit că valoarea variabilei $number trebuie crescută cu valoarea 1 în fiecare rundă a buclei, începând de la 1, până când variabila atinge valoarea 10. Putem opri această buclă prematur folosind break imediat ce $number atinge valoarea 5. Construcția de limbaj echo afișează doar numerele de la 1 la 4.

Pentru a sări peste ieșirea din runda a cincea, dar fără a opri întregul flux al buclei, înlocuim instrucțiunea break cu continue:
<?php
for ($number=1; $number <= 10; $number++) {
if ($number == 5) {
echo "Let's skip the 5!<br />";
continue;
}
echo $number . "<br /> ";
}
?>phpÎn loc de cifra 5, PHP afișează șirul de text „Sărim peste numărul 5!” definit sub if.

Cum se efectuează operațiuni cu fișiere
Conținutul web dinamic este structurat în jurul principiului separării conținutului de prezentare. Pentru a realiza acest lucru, limbajele de scriptare precum PHP oferă o gamă diversă de funcționalități care facilitează integrarea perfectă a conținutului din surse de date externe în fișiere șablon centrale. În practică, aceste surse de date sunt de obicei baze de date gestionate folosind sisteme de gestionare precum MySQL. Puteți afla cum funcționează acest lucru în tutorialul nostru MySQL.
De asemenea, este posibil să includeți date din fișiere. Mai jos vă vom arăta cum să citiți fișiere ca șir de caractere într-un script PHP și să salvați textul generat de scriptul dvs. în fișiere.
Citirea fișierelor
Pentru a citi conținutul unui fișier, PHP dispune de diverse funcții. Dintre acestea, file() și file_get_contents() sunt deosebit de potrivite pentru sarcina respectivă. În timp ce funcția file_get_contents() citește întregul conținut al unui fișier într-un șir, funcția file() salvează conținutul ca un tablou. Fiecare element al tabloului corespunde unei linii din fișier. Utilizarea funcției file() facilitează afișarea individuală a fiecărei linii.
Vom demonstra operațiunile cu fișiere PHP pe fișierul text example.txt, pe care îl plasăm în folderul htdocs al serverului nostru de testare. Fișierul conține patru linii de text fictiv:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Mai întâi trebuie să citim întregul fișier ca șir de caractere. Pentru a face acest lucru, trebuie să atribuim numele fișierului corespunzător ca parametru funcției file_get_contents():
file_get_contents('example.txt')
Acum avem posibilitatea de a lucra cu șirul care a fost citit. De exemplu, putem atribui acest șir unei variabile și îl putem afișa ca text în browserul web:
<?php
$example = file_get_contents('example.txt');
echo $example;
?>php
În vizualizarea browserului, putem vedea că șirul de text este afișat fără paragrafe. Întreruperile de linie din fișierul original nu sunt vizibile. Acest lucru se datorează faptului că browserul web interpretează textul scriptului ca cod HTML. Întreruperile definite în editorii de text sunt pierdute.
Pentru a păstra structura originală, aveți câteva opțiuni. Puteți adăuga manual codul HTML pentru întreruperea de linie (br) în fișierul sursă folosind funcția de căutare și înlocuire, puteți pune un <pre> în jurul conținutului fișierului, puteți seta proprietatea CSS white-space: pre -wrap sau puteți utiliza funcția nl2br() pentru a semnala PHP să convertească automat întreruperile de linie (linii noi) în întreruperi de linie HTML (întreruperi). Iată codul:
<?php
$example = file_get_contents('example.txt');
echo nl2br($example);
?>phpDacă construcția limbajului echo este utilizată în combinație cu nl2br(), PHP inserează o întrerupere de linie HTML înaintea fiecărei linii noi.

Pentru a afișa liniile unui fișier individual, puteți utiliza funcția file(). Aceasta citește un fișier, numerotează toate liniile începând cu numărul 0 și salvează conținutul lor ca elemente ale unui tablou. Aplicând acest lucru la exemplul nostru, obținem următorul rezultat:
[0] = Lorem ipsum dolor sit amet, consectetuer adipiscing elit
[1] = Aenean commodo ligula eget dolor. Aenean massa.
[2] = Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
[3] = Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem
Pentru a afișa conținutul respectiv folosind echo, trebuie doar să specificați numărul liniei dorite. De exemplu, următorul script ne oferă doar prima linie a fișierului example.txt ca ieșire pentru browser:
<?php
$example = file("example.txt");
echo $example [0];
?>php
Scrie fișiere
PHP depășește simpla citire a fișierelor, permițându-vă să citiți, să creați și să modificați fișiere fără efort.
Utilizarea funcției file_put_contents() este un exemplu excelent. Aceasta necesită doar doi parametri: numele fișierului țintă și datele, care pot fi un șir de caractere sau un tablou. În scriptul de mai jos, este creat un fișier nou numit test.txt, care conține șirul de caractere This is a test!. Includerea caracterului \r\n asigură o întrerupere de linie în fișier.
<?php
file_put_contents("test.txt", "This is a test! \r\n");
echo "test.txt has been created!";
?>php
Deoarece file_put_contents nu ne oferă nicio ieșire pentru browser, adăugăm o instrucțiune echo care ne indică ce acțiune este efectuată.
Dacă există deja un fișier cu același nume în folderul țintă, acesta va fi suprascris. Puteți preveni acest lucru setând parametrul FILE_APPEND:
<?php
file_put_contents("test.txt","The test was successful! \r\n", FILE_APPEND);
echo "test.txt has been updated!";
?>phpUtilizând file_put_contents() cu parametrul FILE_APPEND, conținutul nou va fi adăugat la conținutul existent.

Ceea ce PHP scrie în fișierul țintă nu trebuie neapărat să fie definit în script. Alternativ, puteți transfera conținutul dintr-un fișier în altul. Următorul script citește conținutul fișierului example.txt și îl inserează în fișierul test.txt:
<?php
$example = file_get_contents("example.txt");
file_put_contents("test.txt", $example, FILE_APPEND);
echo "test.txt has been updated!";
?>php