Parcourir un un tableau contenant des array et des stdClass
Bonjour,
J'aimerais pouvoir parcourir cette variable :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
object(stdClass)#1 (1) {
["RESULT"]=>
array(2) {
[0]=>
object(stdClass)#2 (3) {
["status"]=>
string(9) "installed"
["backup"]=>
int(1289226198)
["details"]=>
object(stdClass)#3 (2) {
["foo"]=>
int(0)
["bar"]=>
int(0)
}
}
[1]=>
object(stdClass)#4 (3) {
["status"]=>
string(11) "uninstalled"
["backup"]=>
NULL
["details"]=>
object(stdClass)#5 (2) {
["foo"]=>
int(2)
["bar"]=>
int(4)
}
}
}
} |
Je sais qu'il faut utiliser la récursivité (je ne connais pas à l'avance le nombre de dimensions) donc, j'utilise la fonction suivante pour parcourir mon tableau :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
function afficher_tableau($tableau)
{
// on fait une boucle qui lit les éléments du tableau
foreach ($tableau as $cle=>$valeur)
{
// si l'un des éléments est lui même un tableau
// alors on applique la fonction à ce tableau
if(is_array($valeur))
{
// on affiche le nom de la clé et
// le début d'une liste pour
// décaler le contenu vers la droite
echo $cle.' : <ul>';
// ici se réalise la récursivité
// c'est à dire qu'on applique la fonction
// à l'élément en cours car c'est lui aussi un tableau
afficher_tableau($valeur);
// on ferme la liste
echo '</ul>';
}
// si ce n'est pas un tableau
// alors on affiche le contenu de l'élément
else
{
echo $cle.' = '.$valeur.' <br>';
}
}
} |
Mais à l'exécution, j’obtiens cette erreur : Catchable fatal error: Object of class stdClass could not be converted to string in C:\wamp\www\js\testSteek\test.php on line 72
Je comprend bien que je ne peux pas afficher un objet, mais comment faire ?