Dzisiejszy temat z naszej serii najlepszych podejść do PHP: Pętle w PHP. Jak napisać wysokiej jakości pętlę PHP? Jakie są sztuczki związane z pętlami kodowania w PHP? Dowiedzmy się razem.

Co to jest pętla PHP?

Pętle PHP są często używane do operowania na zbiorach danych i powtarzania bloków kodu. Jednak nieefektywne wykorzystanie pętli może znacząco wpłynąć na wydajność skryptu. W tym artykule podzielimy się najlepszymi praktykami i przykładami wydajnego i efektywnego wykorzystania pętli w PHP.

Przykłady pętli PHP

Jeśli nie znasz pętli PHP, najpierw: Lekcje PHP Warto zapoznać się z przykładami, które dla Ciebie przygotowaliśmy, dotyczącymi cykli z naszej serii.

Wybierz odpowiedni typ pętli

Należy wybrać pętlę odpowiednią do operacji, która ma być wykonana w języku PHP. Pętla For lub Foreach nie jest odpowiednia dla każdej operacji! Teraz zrozummy to na przykładach prawidłowego i nieprawidłowego użycia.

PHP dla pętli

PHP for pętla jest właściwym wyborem do iteracji po liczbach.

Prawidłowe użycie: Idealny w sytuacjach, w których liczba iteracji jest z góry określona.

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

Niewłaściwe użycie: Aby wykonać iterację po tablicy lub bez numeru iteracji for użyj cyklu.

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

Pętla Foreach PHP

PHP foreach Pętla jest idealna do iteracji po tablicach.

Prawidłowe użycie: Automatycznie iteruje po każdym elemencie tablicy.

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

Niewłaściwe użycie: foreach W przypadku korzystania ze struktury danych innej niż tablicowa lub gdy wymagana jest iteracja oparta na indeksie.

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

PHP Podczas pętli

PHP while pętla w PHP w niektórych przypadkach for oraz foreach Może być bardziej odpowiedni w zależności od cykli. Najważniejszym szczegółem są scenariusze, w których warunek kontynuacji pętli może ulec zmianie w obrębie pętli.

Prawidłowe użycie: Idealny w sytuacjach, gdy warunek musi zostać sprawdzony wewnątrz pętli.

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

Niewłaściwe użycie: Przypadki, w których warunek pętli nigdy się nie zmienia

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

Efektywne i wydajne używanie pętli PHP

Nigdy nie wywołuj funkcji w pętli

Wielokrotne wywoływanie tej samej funkcji w pętli może negatywnie wpłynąć na wydajność, szczególnie podczas pracy z dużymi zbiorami danych. Nigdy nie wywołuj funkcji w pętlach. To sprawi, że Twój kod będzie pachniał

Poznanie znaczenia i różnic pomiędzy kodem zapachowym a kodem czystym czysty kod Możesz przeczytać nasz artykuł

Niewłaściwe użycie

count() Wywoływanie funkcji jak w pętli.

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

Prawidłowe użycie

Wywołuj funkcje poza pętlą, aby uniknąć niepotrzebnych ponownych obliczeń.

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

To podejście count() Zapobiega to ponownemu wykonaniu funkcji w każdej iteracji, dzięki czemu pętla jest bardziej wydajna.

Nie używaj zapytań i ciężkich operacji w pętlach

W PHP, szczególnie podczas pracy z dużymi zbiorami danych, używanie zapytań i operacji, które mogą powodować problemy z wydajnością w pętli, powoduje poważne problemy z wydajnością i nadmierne zużycie zasobów.

Niewłaściwe użycie

W tym przykładzie zapytanie do bazy danych zostało użyte w pętli foreach. W każdej iteracji dla każdego użytkownika uruchamiane jest oddzielne zapytanie, powodując poważne problemy z wydajnością.

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

Prawidłowe użycie

W tym przykładzie wszystkie niezbędne dane są odbierane poza pętlą za pomocą zoptymalizowanego zapytania SQL, a otrzymane dane są przetwarzane w pętli. Pętla działa wyłącznie na danych pobranych z bazy danych, minimalizując w ten sposób liczbę zapytań wykonywanych w każdej iteracji.

$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
}

Pętle PHP

Wydajność i efektywne wykorzystanie pętli PHP zwiększa wydajność kodu, optymalizuje wykorzystanie zasobów i zapobiega potencjalnym problemom z wydajnością. Wybór odpowiednich typów pętli, zwiększanie wydajności pętli i zwracanie uwagi na zarządzanie zasobami to kluczowe podejścia, które pomogą Ci osiągnąć lepsze wyniki podczas korzystania z pętli PHP. Stosując te podejścia, możesz sprawić, że Twoje kody będą szybsze, czystsze i bardziej czytelne.