Lorsque vous utilisez PHP pour manipuler les bases de données MySQL, la fonction mysql_fetch_array est un moyen très courant d'obtenir des résultats de requête. Il renvoie un tableau, généralement un, mais dans certains scénarios, nous rencontrerons l'exigence de traitement du "tableau multidimensionnel". Cet article combinera des conseils pratiques et des exemples de code pour vous aider à comprendre et à traiter correctement le tableau multidimensionnel renvoyé par mysql_fetch_array .
mysql_fetch_array est principalement utilisé pour extraire une ligne de données de l'ensemble de résultats de requête et renvoyer un tableau. Ce tableau contient deux clés sous forme de tableau associatif et d'index numérique par défaut. La structure est la suivante:
<code>
$row = mysql_fetch_array($result);
print_r($row);
</code>
Exemple de sortie:
<code>
Array
(
[0] => 1
[id] => 1
[1] => Zhang San
[name] => Zhang San
)
</code>
Notez que mysql_fetch_array ne renvoie qu'une ligne de données à la fois, ce qui signifie qu'il s'agit essentiellement d'un tableau unidimensionnel.
Un tableau multidimensionnel n'est généralement pas un résultat directement renvoyé par mysql_fetch_array , mais nous appelons MySQL_Fetch_Array plusieurs fois pour enregistrer plusieurs lignes de données dans un tableau, formant un tableau bidimensionnel.
Exemple:
<code>
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
print_r($data);
</code>
À l'heure actuelle, $ Data est un tableau bidimensionnel, chaque élément représente une ligne de données.
<code>
foreach ($data as $index => $row) {
echo "1 et 1 {$index} Données de ligne:<br>";
foreach ($row as $key => $value) {
echo "{$key} : {$value} <br>";
}
echo "<hr>";
}
</code>
Cela permet d'accéder à chaque enregistrement ligne par ligne, champ par champ.
Accédez au champ Nom sur la ligne 2:
<code>
echo $data[1]['name'];
</code>
<code>
$link = mysql_connect('gitbox.net', 'username', 'password');
mysql_select_db('testdb', $link);
$sql = "SELECT id, name FROM users";
$result = mysql_query($sql, $link);
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
// Sortir toutes les données
foreach ($data as $index => $row) {
echo "1 et 1 {$index} Données de ligne:<br>";
foreach ($row as $key => $value) {
echo "{$key} => {$value}<br>";
}
echo "<hr>";
}
mysql_close($link);
</code>
mysql_fetch_array renvoie un tableau unidimensionnel (c'est-à-dire une ligne de données) à chaque fois.
Un tableau multidimensionnel est utilisé pour appeler mysql_fetch_array en faisant boucle pour combiner plusieurs lignes de données.
Grâce à des boucles ou des index à double couche, vous pouvez accéder à la flexion et traiter les données dans des tableaux multidimensionnels.
Il est recommandé d'utiliser le paramètre MySQL_ASSOC , qui ne renvoie que le tableau associatif pour éviter la redondance des index numériques.
La maîtrise de ces compétences peut vous aider à traiter les résultats de la requête de la base de données plus efficacement et à écrire du code plus clair et plus concis.