O tópico de hoje em nossa série de melhores abordagens de PHP: Loops em PHP. Como escrever um loop PHP de qualidade? Quais são os truques dos loops de codificação em PHP? Vamos descobrir juntos.

O que é loop PHP?

Loops PHP são freqüentemente usados ​​para operar em conjuntos de dados e repetir blocos de código. Entretanto, o uso ineficiente de loops pode afetar significativamente o desempenho do script. Neste artigo, compartilharemos as melhores práticas e exemplos sobre o uso eficiente e eficaz de loops em PHP.

Exemplos de loops PHP

Se você não está familiarizado com loops PHP, primeiro: Aulas de PHP Você deve examinar os exemplos que preparamos para você sobre os ciclos de nossa série.

Escolha o tipo de loop correto

É necessário escolher um loop adequado à operação a ser realizada na linguagem PHP. O loop For ou Foreach não é adequado para todas as operações! Agora vamos entender isso com exemplos de uso correto e incorreto.

PHP para loop

PHP for loop é a escolha certa para iterar com números.

Uso Correto: Ideal para situações onde o número de iterações é predeterminado.

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

Uso indevido: Para iterar sobre um array ou sem um número de iteração for ciclo de uso.

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

Loop Foreach em PHP

PHP foreach O loop é ideal para iterar arrays.

Uso Correto: Itera automaticamente sobre cada elemento da matriz.

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

Uso indevido: foreach Ao usar uma estrutura de dados não array ou quando a iteração baseada em índice for necessária.

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

PHP enquanto loop

PHP while loop em PHP em certos casos for E foreach Pode ser mais adequado dependendo dos ciclos. O detalhe mais importante são os cenários em que a condição de continuação do loop pode mudar dentro do loop.

Uso Correto: Ideal para situações onde a condição precisa ser verificada dentro do loop.

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

Uso indevido: Casos em que a condição do loop nunca muda

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

Usando PHP Loops de forma eficaz e desempenho

Nunca chame uma função em um loop

Chamar repetidamente a mesma função dentro do loop pode impactar negativamente o desempenho, especialmente ao trabalhar com grandes conjuntos de dados. Nunca chame funções em loops. Isso fará com que seu código cheire

Para aprender os significados e diferenças entre código de cheiro e código limpo código limpo Você pode ler nosso artigo

Uso indevido

count() Chamando funções como em um loop.

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

Uso Correto

Chame funções fora do loop para evitar recálculos desnecessários.

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

Esta abordagem count() Evita que a função seja reexecutada a cada iteração, tornando o loop mais eficiente.

Não use consultas e operações pesadas em loops

Em PHP, especialmente ao trabalhar com grandes conjuntos de dados, o uso de consultas e operações que podem causar problemas de desempenho em um loop causa grandes problemas de desempenho e consumo excessivo de recursos.

Uso indevido

Neste exemplo, a consulta ao banco de dados é usada em um loop foreach. Uma consulta separada é executada para cada usuário em cada iteração, causando sérios problemas de desempenho.

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

Uso Correto

Neste exemplo, todos os dados necessários são recebidos fora do loop com uma consulta SQL otimizada e os dados recebidos são processados ​​dentro do loop. O loop opera apenas nos dados recuperados do banco de dados, minimizando assim o número de consultas feitas em cada iteração.

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

Loops PHP

O desempenho e o uso eficaz de loops PHP aumentam a eficiência do código, otimizam o uso de recursos e evitam possíveis problemas de desempenho. Escolher os tipos de loop corretos, aumentar a eficiência dos loops e prestar atenção ao gerenciamento de recursos são abordagens essenciais que o ajudarão a obter melhores resultados ao usar loops PHP. Ao aplicar essas abordagens, você pode tornar seus códigos mais rápidos, mais limpos e mais legíveis.