Mon tableau PHP est transformé en Objet par le JSON
Bonjour,
J'ai un tableau PHP avec des clés en années et des valeurs, telles que : [ “2017” => [2017-12-01]]. Or lors du passage dans la vue, le JSON transforme ce tableau en objet et non en un tableau parce que un JSON c'est une suite d'entrée et pas une suite de clé -> valeur ( si je ne me trompe pas ).
Du coup dans la vue, je récupère un objet et non un tableau qu'il me faudrait...
J'ai vu des topics similaires avec JSON encode mais je ne comprends pas complètement son utilisation et surtout où l'écrire
Je vous met le code de mon tableau PHP, qui en sortie est bien un tableau. ( Vérifié par gettype )
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| private function _loadPrevFile($spec = false){ // But : Récupérer l'historique par années
$file = $spec ? $this->_history_file_spec : $this->_history_file;
if( file_exists($file) ){
$buffer = file_get_contents($file); // Récupération données
if( $buffer !==FALSE ) {
$history = explode( "\n", $buffer);
foreach ((array) $history as $line){ // Obligation d'utiliser array pour décrire history comme tableau
$tab_date = explode("-", $line);
$annee = $tab_date[0];
if (!isset($prevHistory[$annee])){
$prevHistory[$annee] = []; // Tableau multidimensionnel
}
$prevHistory[$annee][] = $line;
}
}
unset($prevHistory[""]); // Supprime l'index qui était vide, cause : dernière ligne history.log
$spec ? $this->prevHistory_spec = $prevHistory : $this->prevHistory = $prevHistory;
}
} |
Sinon, on m'a dit d'encapsuler [ “2017” => [2017-12-01]] tel que [[ “2017” => [2017-12-01]] dans un array php, mais je ne sais comment faire.
Si on pouvait m'éclairer sur comment faire svp.
PS : Pour ceux qui auraient suivi mes topics précédents, j'avance petit à petit, merci de votre aide :)
2 pièce(s) jointe(s)
Sortir des clés d'un tableau multimensionnel / objet
Bonjour,
J'ai un tableau de telle forme "[{[" :
Pièce jointe 591860
Pièce jointe 591861
Et j'aimerais sortir les clés en javascript.. Pas les clés 0, 1, 2 etc... mais bien 2018, 2017 etc...
Comment puis-je faire ?
Merci d'avance