CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Convertir un tableau PHP au format JSON

Atalanapolis
Atalanapolis
Niveau 10
15 mars 2016 à 10:01:58

Bonjour,

je vais à l'essentiel.

J'ai une requête SQL me donnant des résultats. Je parcours ces résultats grâce à un foreach en PHP :
foreach($requete as $row) { echo $row['colonne1']. ' - ' .$row['colonne2']; }

Ensuite, je mets ceci dans un tableau PHP.
Toujours dans ma boucle foreach :
$tableau = array($row['colonne1'], $row['colonne2']);

Puis j'encode ce tableau avec la fonctionne json_encode :

json_encode($tableau);

Et ça m'affiche ce résultat là :
[colonne1a, colonne2a] [colonne1b, colonne2b] [colonne1c, colonne2c] [colonne1d, colonne2d]

Sauf que j'aimerais que ça m'affiche ceci :

[[colonne1a, colonne2a], [colonne1b, colonne2b], [colonne1c, colonne2c], [colonne1d, colonne2d]]

En gros, mettre tous ces petits tableaux dans un GRAND tableau.

C'est con mais je bloque. SI quelqu'un a une idée...

Popovitch
Popovitch
Niveau 26
15 mars 2016 à 10:14:31

Transforme ça :
$tableau = array($row['colonne1'], $row['colonne2']);

En ça :
$tableau[] = array($row['colonne1'], $row['colonne2']);

Et fais ton json_encode a l'extérieur de ta boucle :ok:

Message édité le 15 mars 2016 à 10:15:18 par Popovitch
Atalanapolis
Atalanapolis
Niveau 10
15 mars 2016 à 10:23:27

Merci beaucoup.

Qu'est ce que ça a fait exactement?

deepblue
deepblue
Niveau 16
15 mars 2016 à 10:57:04

Au lieu de construire N tableaux qui sont chacun transformés en JSON, tu n'as plus qu'un seul tableaux composés des précédents tableaux…et c'est l'ensemble qui est transformé en JSON.

deepblue
deepblue
Niveau 16
15 mars 2016 à 10:57:37

Par contre, il faut déclarér $tableau = [] avant ton foreach.

Pseudo supprimé
Pseudo supprimé 15 mars 2016 à 12:44:57

Le 15 mars 2016 à 10:57:37 deepblue a écrit :
Par contre, il faut déclarer $tableau = [] avant ton foreach.

hein hein,

c'est moche ça, sérieux en 2016 :

$tableau = array();

lisarael
lisarael
Niveau 13
15 mars 2016 à 13:11:08

Le 15 mars 2016 à 12:44:57 darkiron_web a écrit :

Le 15 mars 2016 à 10:57:37 deepblue a écrit :
Par contre, il faut déclarer $tableau = [] avant ton foreach.

hein hein,

c'est moche ça, sérieux en 2016 :

$tableau = array();

Autant en javascript, on aurait des raisons légitimes de râler, autant en PHP, justement, non : array() et [] sont vraiment égaux, et la méthode raccourcie existe depuis la v5.4 (donc reste relativement récente). J'aurai du coup même plutôt tendance à dire, en 2016, on écrit [].
Ça rend le code plus lisible et ça créé une sorte de redondance stylistique avec le langage client.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment