PHP ベスト アプローチ シリーズの今日のトピックは、PHP のループです。高品質の PHP ループを作成するにはどうすればよいでしょうか? PHP でループをコーディングするコツは何ですか?一緒に調べてみましょう。

PHPループとは何ですか?

PHP ループは、データ セットを操作し、コード ブロックを繰り返すために頻繁に使用されます。ただし、ループを非効率的に使用すると、スクリプトのパフォーマンスに大きな影響を与える可能性があります。この記事では、PHP でのループのパフォーマンスと効果的な使用に関するベスト プラクティスと例を共有します。

PHP ループの例

PHP ループに慣れていない場合は、まず次のことを行ってください。 PHP レッスン シリーズのサイクルについて用意した例を検討してください。

適切なループ タイプを選択する

PHP言語で実行する操作に適したループを選択する必要があります。 For または Foreach ループは、すべての操作に適しているわけではありません。次に、正しい使用法と誤った使用法を例に挙げてこれを理解しましょう。

PHP For ループ

PHP for 数値を反復処理するには、loop が適切な選択です。

正しい使い方: 反復回数が事前に決定されている状況に最適です。

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

誤用: 配列を反復処理するか、反復番号を指定せずに反復処理します。 for 使用サイクル。

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

PHP Foreach ループ

PHP foreach このループは、配列を反復処理するのに最適です。

正しい使い方: 配列の各要素を自動的に繰り返します。

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

誤用: foreach 非配列データ構造を使用する場合、またはインデックスベースの反復が必要な場合。

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

PHP Whileループ

PHP while 特定の場合に PHP でループする for そして foreach 周期によってはこちらの方が適している場合もあります。最も重要な詳細は、ループの継続条件がループ内で変更される可能性があるシナリオです。

正しい使い方: ループ内で状態を確認する必要がある場合に最適です。

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

誤用: ループ条件が変わらない場合

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

PHP ループの効果的な使用とパフォーマンス

ループ内で関数を呼び出さない

ループ内で同じ関数を繰り返し呼び出すと、特に大規模なデータ セットを扱う場合、パフォーマンスに悪影響を及ぼす可能性があります。ループ内で関数を呼び出さないでください。これによりコードが臭くなります

スメルコードとクリーンコードの意味と違いを学ぶ きれいなコード 私たちの記事を読むことができます

誤用

count() ループのように関数を呼び出します。

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

正しい使い方

不必要な再計算を避けるために、ループの外で関数を呼び出します。

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

このアプローチ count() これにより、反復ごとに関数が再実行されることがなくなり、ループがより効率的になります。

クエリや複雑な操作をループ内で使用しないでください

PHP では、特に大規模なデータ セットを扱う場合、ループ内でパフォーマンスの問題を引き起こす可能性のあるクエリや操作を使用すると、重大なパフォーマンスの問題と過剰なリソース消費が発生します。

誤用

この例では、データベース クエリが foreach ループで使用されます。反復ごとにユーザーごとに個別のクエリが実行されるため、パフォーマンスに重大な問題が発生します。

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

正しい使い方

この例では、必要なデータはすべて、最適化された SQL クエリを使用してループの外側で受信され、受信されたデータはループ内で処理されます。ループはデータベースから取得したデータに対してのみ動作するため、各反復で行われるクエリの数が最小限に抑えられます。

$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 ループ

PHP ループのパフォーマンスと効果的な使用により、コードの効率が向上し、リソースの使用が最適化され、潜在的なパフォーマンスの問題が防止されます。適切なループの種類を選択し、ループの効率を高め、リソース管理に注意を払うことは、PHP ループを使用するときにより良い結果を達成するのに役立つ重要なアプローチです。これらのアプローチを適用すると、コードをより速く、よりクリーンに、より読みやすくすることができます。