Maison  >  Article  >  développement back-end  >  Comment convertir un objet de résultat php en tableau

Comment convertir un objet de résultat php en tableau

PHPz
PHPzoriginal
2023-04-24 14:49:20656parcourir

En PHP, nous utilisons souvent des bases de données pour les opérations de stockage et de récupération de données. Lorsque nous récupérons des données de la base de données, nous devons souvent convertir l'objet résultat en un tableau pour faciliter le traitement, l'affichage ou le transfert vers d'autres programmes pour le traitement. Cet article vous présentera comment convertir l'objet résultat en tableau en PHP.

Tout d'abord, nous devons préciser que l'objet résultat en PHP est souvent de type PDOStatement ou mysqli_result. Ces classes fournissent une série de méthodes pour obtenir les données des résultats de requête. Cependant, si vous utilisez ces méthodes pour obtenir directement des résultats, les données renvoyées sont souvent un objet peu pratique à traiter. Par conséquent, nous devons convertir l’objet résultat en tableau.

Méthode 1. Utilisez la méthode fetchAll() dans PDO

Lorsque vous utilisez PDO pour une requête de base de données, nous pouvons utiliser la méthode fetchAll() pour obtenir les résultats de la requête. Cette méthode renvoie un tableau à deux dimensions contenant les résultats de la requête. Transmettez le tableau à la fonction json_encode() pour le convertir au format JSON et transmettez-le au front-end pour l'affichage ou l'exploitation.

Par exemple, l'exemple de code suivant montre comment utiliser la méthode fetchAll() dans PDO pour convertir l'objet résultat en tableau :

$stmt = $pdo->query('SELECT * FROM users');
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);

Méthode 2. Utilisez la méthode fetch_all() dans mysqli

Lors de l'utilisation de mysqli pour la base de données requêtes, nous pouvons utiliser la méthode fetch_all() pour obtenir les résultats de la requête. Cette méthode renvoie un tableau à deux dimensions contenant les résultats de la requête. De même, transmettez le tableau à la fonction json_encode() pour le convertir au format JSON et transmettez-le au front-end pour l'affichage ou l'exploitation.

Par exemple, l'exemple de code suivant montre comment utiliser la méthode fetch_all() dans mysqli pour convertir l'objet résultat en tableau :

$result = $mysqli->query('SELECT * FROM users')->fetch_all(MYSQLI_ASSOC);
echo json_encode($result);

Méthode 3. Parcourez manuellement l'objet résultat et convertissez chaque ligne de données en tableau

En plus des deux ci-dessus En plus de la méthode, nous pouvons également parcourir manuellement l'objet résultat et convertir chaque ligne de données en un tableau. Cette méthode est relativement lourde, mais peut être utile pour certains besoins particuliers.

Ce qui suit est un exemple de code qui parcourt manuellement l'objet résultat et convertit chaque ligne de données en un tableau :

$stmt = $pdo->query('SELECT * FROM users');
$result = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $result[] = $row;
}
echo json_encode($result);

Résumé

Ci-dessus sont les trois méthodes de conversion de l'objet résultat en tableau. Parmi elles, l’utilisation de la méthode fetchAll() ou fetch_all() est la méthode la plus courante et la plus simple. Il convient de noter que l'utilisation de la méthode fetchAll() ou fetch_all() peut charger tous les résultats en mémoire en même temps, ce qui peut entraîner une mémoire insuffisante si l'ensemble de résultats est volumineux. Par conséquent, lors du traitement de grands ensembles de résultats, nous pouvons utiliser la pagination et d’autres méthodes pour réduire l’utilisation de la mémoire.

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