Récupère la ligne suivante d'un ensemble de résultats sous forme de tableau associatif, numérique ou les deux

# mysqli_result::fetch_array

# mysqli_fetch_array

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_array -- mysqli_fetch_array — Récupère la ligne suivante d'un ensemble de résultats sous forme de tableau associatif, numérique ou les deux

### Description

Style orienté objet

public function mysqli_result::fetch_array(int `$mode` = `MYSQLI_BOTH`): array|null|false

Style procédural

function mysqli_fetch_array(mysqli_result `$result`, int `$mode` = `MYSQLI_BOTH`): array|null|false

Retourne une ligne de données de l'ensemble de résultats et la renvoie sous forme de tableau. Chaque appel ultérieur à cette fonction renverra la ligne suivante dans l'ensemble de résultats, ou `null` s'il n'y a plus de lignes.

En plus d'enregistrer les données sous forme d'un tableau à indices numériques, elle peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme clés.

Si deux ou plusieurs colonnes du résultat ont le même nom, la dernière colonne sera prioritaire et écrasera toutes les données précédentes. Pour accéder aux autres colonnes du même nom, l'on doit utiliser l'index numérique, ou faire un alias pour chaque colonne.

> Note: Les noms des champs retournés par cette fonction sont sensibles à la casse.

> Note: Cette fonction définit les champs NULL à la valeur PHP `null`.

### Liste de paramètres

`result`
  Style procédural uniquement : Un objet mysqli_result retourné par mysqli_query(), mysqli_store_result(), mysqli_use_result(), ou mysqli_stmt_get_result().
`mode`

  Le second argument optionnel est une constante indiquant quel type de tableau doit être renvoyé à partir de la ligne de données courante. Les valeurs possibles pour ce paramètre sont les constantes `MYSQLI_ASSOC`, `MYSQLI_NUM`, et `MYSQLI_BOTH`.

  En utilisant la constante `MYSQLI_ASSOC`, cette fonction se comportera comme la fonction mysqli_fetch_assoc(), tandis que `MYSQLI_NUM` la fera agir comme la fonction mysqli_fetch_row(). La constante `MYSQLI_BOTH`, créera elle un tableau qui sera à la fois associatif et indexé numériquement.

### Valeurs de retour

Retourne un tableau représentant la ligne récupérée, `null` s'il n'y a plus de lignes dans le jeu de résultats, ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple avec mysqli_result::fetch_array()

Style orienté objet

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3";
    $result = $mysqli->query($query);

    /* Tableau numérique */
    $row = $result->fetch_array(MYSQLI_NUM);
    printf("%s (%s)\n", $row[0], $row[1]);

    /* Tableau associatif */
    $row = $result->fetch_array(MYSQLI_ASSOC);
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

    /* Tableau associatif et numérique */
    $row = $result->fetch_array(MYSQLI_BOTH);
    printf("%s (%s)\n", $row[0], $row["CountryCode"]);

Style procédural

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
    $result = mysqli_query($mysqli, $query);

    /* Tableau numérique */
    $row = mysqli_fetch_array($result, MYSQLI_NUM);
    printf("%s (%s)\n", $row[0], $row[1]);

    /* Tableau associatif */
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

    /* Tableau associatif et numérique */
    $row = mysqli_fetch_array($result, MYSQLI_BOTH);
    printf("%s (%s)\n", $row[0], $row["CountryCode"]);

Les exemples ci-dessus vont afficher quelque chose de similaire à :

    Kabul (AFG)
    Qandahar (AFG)
    Herat (AFG)

### Voir aussi

- mysqli_fetch_assoc() - Récupère la ligne suivante d'un ensemble de résultats sous forme de tableau associatif
- mysqli_fetch_column() - Récupère une seule colonne de la ligne suivante d'un jeu de résultats
- mysqli_fetch_row() - Récupère une ligne de résultat sous forme de tableau indexé
- mysqli_fetch_object() - Retourne la ligne suivante d'un ensemble de résultats sous forme d'objet
- mysqli_query() - Exécute une requête sur la base de données
- mysqli_data_seek() - Déplace le pointeur interne de résultat

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open