Maison  >  Article  >  base de données  >  Pourquoi ma boucle foreach affiche-t-elle des données doublées lors de l'utilisation de « mysql_fetch_array » ?

Pourquoi ma boucle foreach affiche-t-elle des données doublées lors de l'utilisation de « mysql_fetch_array » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 20:25:30828parcourir

Why does my foreach loop display doubled data when using `mysql_fetch_array`?

Résultats doublés dans le tableau (mysql_fetch_array)

Le code donné rencontre un problème où la boucle foreach affiche des données doublées en raison du fonctionnement de mysql_fetch_array . Par défaut, il attribue des index numériques et associatifs à chaque élément du tableau de résultats. Cet effet peut être observé dans la sortie print_r, où apparaissent les deux index (0, 1, 2, etc.) et leurs clés correspondantes (id, Department_id, nom, etc.).

Pour résoudre ce problème, vous pouvez spécifier le type d'index souhaité dans l'appel de fonction mysql_fetch_array. En passant MYSQL_NUM comme deuxième paramètre, vous pouvez récupérer un tableau avec uniquement des clés numériques. Alternativement, MYSQL_ASSOC renverra un tableau avec uniquement des clés associatives.

<code class="php">// Get numeric keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM);

// Get associative keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC);</code>

Vous pouvez également utiliser les fonctions mysql_fetch_row et mysql_fetch_assoc, qui renvoient spécifiquement des tableaux numériques ou associatifs, respectivement :

<code class="php">// Get numeric keys only
$query_result_array = mysql_fetch_row($query_result);

// Get associative keys only
$query_result_array = mysql_fetch_assoc($query_result);</code>

En utilisant ces options, vous pouvez éviter les données dupliquées dans votre boucle foreach et vous assurer que le tableau résultant contient les index et les valeurs dont vous avez besoin.

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