Današnja tema u našoj seriji PHP najboljih pristupa: Petlje u PHP-u. Kako napisati kvalitetnu PHP petlju? Koji su trikovi kodiranja petlji u PHP-u? Otkrijmo zajedno.

Što je PHP petlja?

PHP petlje se često koriste za rad na skupovima podataka i ponavljanje blokova koda. Međutim, neučinkovito korištenje petlji može značajno utjecati na performanse skripte. U ovom ćemo članku podijeliti najbolje prakse i primjere o uspješnoj i učinkovitoj upotrebi petlji u PHP-u.

Primjeri PHP petlji

Ako niste upoznati s PHP petljama, prvo: PHP lekcije Trebali biste proučiti primjere koje smo pripremili za vas o ciklusima iz naše serije.

Odaberite pravu vrstu petlje

Potrebno je odabrati petlju prikladnu za operaciju koja se izvodi u PHP jeziku. For ili Foreach petlja nije prikladna za svaku operaciju! Hajdemo sada razumjeti ovo s primjerima ispravne i netočne uporabe.

PHP za petlju

PHP for petlja je pravi izbor za ponavljanje s brojevima.

Ispravna uporaba: Idealno za situacije u kojima je broj ponavljanja unaprijed određen.

for ($i = 0; $i < 10; $i++) {
    echo "Number: " . $i . "<br>";
}

Zlouporaba: Za ponavljanje niza ili bez broja ponavljanja for koristiti ciklus.

for ($i = 0; $i < count($array); $i++) {
    // For döngüsü bunun için ideal bir çözüm değil. BUNU YAPMAYIN!
}

PHP foreach petlja

PHP foreach Petlja je idealna za ponavljanje nizova.

Ispravna uporaba: Automatski ponavlja svaki element niza.

$colors = ["red", "green", "blue"];
foreach ($colors as $color) {
    echo "Color: " . $color . "<br>";
}

Zlouporaba: foreach Kada koristite strukturu podataka bez niza ili kada je potrebna iteracija temeljena na indeksu.

foreach ($i = 0; $i < 10; $i++) {
    // Forach döngüsü bunun için ideal bir çözüm değil. BUNU YAPMAYIN!
}

PHP dok petlja

PHP while petlja u PHP-u u određenim slučajevima for i foreach Može biti prikladnije ovisno o ciklusima. Najvažniji detalj su scenariji u kojima se uvjet nastavka petlje može promijeniti unutar petlje.

Ispravna uporaba: Idealno za situacije u kojima je potrebno provjeriti stanje unutar petlje.

$i = 0;
while ($i < 10) {
    echo "Sayı: " . $i . "<br>";
    $i++;
}

Zlouporaba: Slučajevi u kojima se stanje petlje nikada ne mijenja

$counter = 0;
while ($counter < 10) {
    echo "Sayı: " . $counter . "<br>";
    // Sonsuz döngü (infinite loop) oluşacak. BUNU YAPMAYIN!
}

Učinkovito i učinkovito korištenje PHP petlji

Nikad ne pozivajte funkciju u petlji

Opetovano pozivanje iste funkcije unutar petlje može negativno utjecati na izvedbu, osobito pri radu s velikim skupovima podataka. Nikada ne pozivajte funkcije u petljama. Ovo će učiniti da vaš kod smrdi

Naučiti značenja i razlike koda mirisa i čistog koda čisti kod Možete pročitati naš članak

Zlouporaba

count() Pozivanje funkcionira kao u petlji.

for ($i = 0; $i < count($array); $i++) {
    // yapılacak işlemler
}

Ispravna uporaba

Pozovite funkcije izvan petlje kako biste izbjegli nepotrebna ponovna izračunavanja.

$array_len = count($array);
for ($i = 0; $i < $array_len; $i++) {
    // yapılacak işlemler
}

Ovaj pristup count() Sprječava ponovno izvođenje funkcije pri svakoj iteraciji, čineći petlju učinkovitijom.

Nemojte koristiti upite i teške operacije u petljama

U PHP-u, posebno kada radite s velikim skupovima podataka, korištenje upita i operacija koje mogu uzrokovati probleme s izvedbom u petlji uzrokuje velike probleme s izvedbom i pretjeranu potrošnju resursa.

Zlouporaba

U ovom primjeru, upit baze podataka koristi se u foreach petlji. Zasebni upit pokreće se za svakog korisnika u svakoj iteraciji, uzrokujući ozbiljne probleme s izvedbom.

foreach ($users as $user) {
    $userData = $database->query("SELECT * FROM user_data WHERE user_id = " . $user->id);
    // BUNU ASLA YAPMAYIN!
}

Ispravna uporaba

U ovom primjeru, svi potrebni podaci primaju se izvan petlje s optimiziranim SQL upitom, a primljeni podaci obrađuju se unutar petlje. Petlja radi samo na podacima dohvaćenim iz baze podataka, čime se smanjuje broj upita napravljenih u svakoj iteraciji.

$userIds = array_map(function($user) { return $user->id; }, $users);
$userData = $database->query("SELECT * FROM user_data WHERE user_id IN (" . implode(',', $userIds) . ")");

foreach ($userData as $data) {
    // veritabanından alınan verileri işle
}

PHP petlje

Performanse i učinkovita upotreba PHP petlji povećavaju učinkovitost koda, optimiziraju korištenje resursa i sprječavaju potencijalne probleme s performansama. Odabir pravih vrsta petlji, povećanje učinkovitosti u petljama i obraćanje pozornosti na upravljanje resursima ključni su pristupi koji će vam pomoći da postignete bolje rezultate pri korištenju PHP petlji. Primjenom ovih pristupa svoje kodove možete učiniti bržima, čišćima i čitljivijima.