Maison >développement back-end >tutoriel php >Comment parcourir un tableau plusieurs fois après la migration de MySQL vers PDO ?

Comment parcourir un tableau plusieurs fois après la migration de MySQL vers PDO ?

DDD
DDDoriginal
2024-11-01 09:11:30748parcourir

How to Iterate Through an Array Multiple Times After Migrating from MySQL to PDO?

Passer de MySQL à PDO : préserver le pointeur de tableau

PDO offre une approche différente pour récupérer des données par rapport à la méthode mysql_data_seek() de MySQL. Pour parcourir efficacement un tableau plusieurs fois, suivez ces étapes :

Enregistrer les résultats dans un tableau :

Au lieu de vous fier directement à l'instruction PDO, enregistrez les résultats dans un tableau utilisant la méthode fetchAll(). Cela vous permet de travailler avec le tableau de manière plus contrôlée.

Code :

<code class="php">$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();</code>

Itérer avec la boucle Foreach :

Maintenant, vous pouvez parcourir le tableau autant de fois que nécessaire en utilisant les boucles foreach. Cette approche vous permet de démarrer chaque itération à partir du premier élément du tableau.

Code :

<code class="php">foreach ($rows as $r) {
    // First iteration
}

foreach ($rows as $r) {
    // Second iteration
}</code>

Exemple :

Supposons que vous ayez un tableau de noms stockés dans $rows. Le code suivant montre comment le parcourir deux fois :

<code class="php">foreach ($rows as $name) {
    echo $name . "<br>"; // First run: Display all names vertically
}

foreach ($rows as $name) {
    echo $name . " "; // Second run: Display all names horizontally
}</code>

Avantages :

  • Permet plusieurs itérations dans le même ensemble de données
  • Préserve l'ordre des tableaux et fournit un point de départ stable pour chaque itération
  • Améliore la lisibilité et la maintenabilité du code

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn