Position actuelle: Accueil> Derniers articles> Comment extraire une colonne dans le résultat mysqli_result en un tableau? Utilisez Array_Column () pour le résoudre facilement

Comment extraire une colonne dans le résultat mysqli_result en un tableau? Utilisez Array_Column () pour le résoudre facilement

M66 2025-07-18

Lorsque vous utilisez PHP pour faire fonctionner une base de données MySQL, de nombreuses personnes obtiendront un objet MySQLI_RESULT après avoir utilisé MySQLI_Query pour exécuter une requête. Parfois, nous voulons simplement extraire les données d'une colonne, comme tous les noms d'utilisateur et tous les ID, et les mettre dans un tableau. À l'heure actuelle, le manuel tandis que Loop est en fait un peu verbeux. En fait, Array_Column () de PHP peut vous aider à le gérer facilement.

Cet article vous apprendra à extraire rapidement une colonne de MySQLI_RESULT en utilisant Array_Column () .

Requête de base

Supposons que nous ayons une table utilisateur d'utilisateurs avec ID de champs et nom d'utilisateur . Nous voulons retirer tous les noms d'utilisateur pour former un tableau.

 <?php
$mysqli = new mysqli('localhost', 'db_user', 'db_pass', 'db_name');
if ($mysqli->connect_error) {
    die('Échec de la connexion:' . $mysqli->connect_error);
}

$sql = "SELECT id, username FROM users";
$result = $mysqli->query($sql);
if (!$result) {
    die('La requête a échoué:' . $mysqli->error);
}

À l'heure actuelle, $ Result est un objet mysqli_result . Nous devons le convertir en un tableau pour utiliser Array_Column () .

Extraire en tant que tableau

mysqli_fetch_all () peut convertir les résultats définis en un tableau bidimensionnel en même temps. Notez que vous devez utiliser le paramètre MySQLI_ASSOC pour vous assurer d'obtenir le tableau associatif.

 $rows = $result->fetch_all(MYSQLI_ASSOC);

À l'heure actuelle, la structure de $ Rows est à peu près comme ceci:

 [
    ['id' => 1, 'username' => 'alice'],
    ['id' => 2, 'username' => 'bob'],
    ['id' => 3, 'username' => 'charlie']
]

Vous pouvez maintenant utiliser array_column () pour extraire la colonne du nom d'utilisateur :

 $usernames = array_column($rows, 'username');

Le résultat de $ noms est:

 ['alice', 'bob', 'charlie']

Si vous souhaitez extraire la colonne ID et utiliser l'ID comme clé, utilisez:

 $usernamesById = array_column($rows, 'username', 'id');

De cette façon, $ usernamebyid est:

 [
    1 => 'alice',
    2 => 'bob',
    3 => 'charlie'
]

Exemple complet

 <?php
$mysqli = new mysqli('localhost', 'db_user', 'db_pass', 'db_name');
if ($mysqli->connect_error) {
    die('Échec de la connexion:' . $mysqli->connect_error);
}

$sql = "SELECT id, username FROM users";
$result = $mysqli->query($sql);
if (!$result) {
    die('La requête a échoué:' . $mysqli->error);
}

$rows = $result->fetch_all(MYSQLI_ASSOC);
$usernames = array_column($rows, 'username');

print_r($usernames);

$mysqli->close();
?>