L'argomento di oggi nella nostra serie sui migliori approcci a PHP: i loop in PHP. Come scrivere un loop PHP di qualità? Quali sono i trucchi per codificare i loop in PHP? Scopriamolo insieme.

Cos'è PHP Loop?

I loop PHP vengono spesso utilizzati per operare su set di dati e ripetere blocchi di codice. Tuttavia, un utilizzo inefficiente dei loop può influire in modo significativo sulle prestazioni dello script. In questo articolo condivideremo le migliori pratiche ed esempi sull'uso efficace ed efficiente dei loop in PHP.

Esempi di cicli PHP

Se non hai familiarità con i loop PHP, innanzitutto: Lezioni PHP Dovresti esaminare gli esempi che abbiamo preparato per te sui cicli della nostra serie.

Scegli il tipo di loop giusto

E' necessario scegliere un loop adatto all'operazione da eseguire in linguaggio PHP. Il ciclo For o Foreach non è adatto a tutte le operazioni! Ora capiamolo con esempi di utilizzo corretto e scorretto.

PHP per ciclo

PHP for loop è la scelta giusta per iterare con i numeri.

Utilizzo corretto: Ideale per situazioni in cui il numero di iterazioni è predeterminato.

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

Uso improprio: Per scorrere un array o senza un numero di iterazione for ciclo di utilizzo.

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

Ciclo Foreach di PHP

PHP foreach Il ciclo è ideale per scorrere gli array.

Utilizzo corretto: Itera automaticamente su ogni elemento dell'array.

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

Uso improprio: foreach Quando si utilizza una struttura dati non array o quando è richiesta l'iterazione basata su indice.

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

PHP Mentre Ciclo

PHP while loop in PHP in alcuni casi for e foreach Potrebbe essere più adatto a seconda dei cicli. Il dettaglio più importante riguarda gli scenari in cui la condizione di continuazione del ciclo può cambiare all'interno del ciclo.

Utilizzo corretto: Ideale per situazioni in cui è necessario verificare la condizione all'interno del circuito.

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

Uso improprio: Casi in cui la condizione del loop non cambia mai

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

Utilizzo efficace e prestazioni dei loop PHP

Non chiamare mai una funzione in un ciclo

Chiamare ripetutamente la stessa funzione all'interno del ciclo può avere un impatto negativo sulle prestazioni, soprattutto quando si lavora con set di dati di grandi dimensioni. Non chiamare mai funzioni in loop. Questo farà sì che il tuo codice abbia un odore

Imparare i significati e le differenze tra codice olfattivo e codice pulito codice pulito Puoi leggere il nostro articolo

Uso improprio

count() Chiamare funzioni come in un ciclo.

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

Utilizzo corretto

Chiamare funzioni esterne al ciclo per evitare ricalcoli non necessari.

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

Questo approccio count() Impedisce che la funzione venga rieseguita ad ogni iterazione, rendendo così il ciclo più efficiente.

Non utilizzare query e operazioni pesanti nei cicli

In PHP, soprattutto quando si lavora con set di dati di grandi dimensioni, l'utilizzo di query e operazioni che possono causare problemi di prestazioni in un ciclo provoca gravi problemi di prestazioni e un consumo eccessivo di risorse.

Uso improprio

In questo esempio, la query del database viene utilizzata in un ciclo foreach. Viene eseguita una query separata per ciascun utente a ogni iterazione, causando seri problemi di prestazioni.

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

Utilizzo corretto

In questo esempio tutti i dati necessari vengono ricevuti all'esterno del loop con una query SQL ottimizzata e i dati ricevuti vengono elaborati all'interno del loop. Il ciclo opera solo sui dati recuperati dal database, riducendo così al minimo il numero di query effettuate in ciascuna iterazione.

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

Cicli PHP

Le prestazioni e l'uso efficace dei loop PHP aumentano l'efficienza del codice, ottimizzano l'utilizzo delle risorse e prevengono potenziali problemi di prestazioni. Scegliere i tipi di loop giusti, aumentare l’efficienza dei loop e prestare attenzione alla gestione delle risorse sono approcci chiave che ti aiuteranno a ottenere risultati migliori quando usi i loop PHP. Applicando questi approcci, puoi rendere i tuoi codici più veloci, più puliti e più leggibili.