ホームページ > データベース > mysql チュートリアル > PDO 結果配列を 2 回繰り返すにはどうすればよいですか?

PDO 結果配列を 2 回繰り返すにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-28 17:57:13
オリジナル
828 人が閲覧しました

How Can I Iterate Through a PDO Result Array Twice?

PDO 結果から配列を 2 回反復する

PDO を使用する場合、フェッチされた配列を複数回反復する必要がある場合があります。ただし、MySQL の mysql_data_seek() メソッドとは異なり、PDO は配列ポインタをリセットする直接的な方法を提供しません。同じ機能を実現するには、別のアプローチを採用する必要があります。

解決策は、フェッチされた結果を配列に格納し、その配列を 2 回繰り返すことです。以下に例を示します:

$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();

$rows = $stmt->fetchAll();

foreach ($rows as $r) {
    // first run
}

foreach ($rows as $r) {
    // seconds run
}
ログイン後にコピー

この改訂されたコードでは:

  • クエリ結果は fetchAll() を使用して配列にフェッチされます。
  • 2 つの個別の foreach ループ配列を 2 回反復するために使用されます。

結果を配列では、毎回行 0 から開始して同じ配列を 2 回反復するという当初の意図が維持されます。この方法は、PDO 結果を操作するための堅牢かつ効率的なソリューションを提供します。

以上がPDO 結果配列を 2 回繰り返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート