PHP/XML Afficher comme array

Avatar du membre
Petit nouveau ! | 2 Messages

04 août 2016, 17:03

Bonjour,

J'essaye de lire un résultat XML:
stdClass Object
(
[GetBilletResult] => Array
(
    [0] => stdClass Object
        (
            [tabGrilleHoraire] => stdClass Object
                (
                    [tabDetailTarifArticle] => stdClass Object
                        (
                            [sNomArticle] => BUS HOP ON HOP OFF 24H
                            [tabDetail] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [sDetail] => Liste Pax : Pax n°1 [Âge:19]
                                            [sAgePax] => 19;
                                            [sTranche] => ADULTE(12-99)
                                            ...
                                        )

                                    [1] => stdClass Object
                                        (
                                            [sDetail] => Prix de Base
                                            [sAgePax] =>
                                            [sTranche] =>
                                            ...
                                        )
                                    ...
Mon code :
$processed = array();
foreach( $billets as $GetBilletResult )
{ 
$sNomProduit = $GetBilletResult->getElementsByTagName( "sNomProduit" )->item(0)->nodeValue;
$sNomArticle = $GetBilletResult->getElementsByTagName( "sNomArticle" )->item(0)->nodeValue;
$tabDetailTarifArticle = $GetBilletResult->getElementsByTagName( "tabDetailTarifArticle" )->item(0)->nodeValue;

if (!isset($processed[$sNomProduit])) {
     $processed[$sNomProduit] = array();
}

$processed[$sNomProduit][] = array(
     'sNomArticle' => $sNomArticle,
     'tabDetailTarifArticle' => $tabDetailTarifArticle,
);
}
Loop:
foreach ($processed as $sNomProduit => $list) {
    echo "<h3> ".$sNomProduit."</h3>";
    foreach ($list as $item) {
        echo "<h5> ".$item['sNomArticle'] . "</h5>";
        var_dump($item['tabDetailTarifArticle']) ;
    }
}
Sortie :

BUS HOP ON HOP OFF BARCELONE 24H

BUS HOP ON HOP OFF 24H

string 'BUS HOP ON HOP OFF 24HOK19;falsefalseListe Pax : Pax n°1 [Âge:19]19;ADULTE(12-99)00000Prix de Base2835000Total2835000Remise00000Commission00000Net à payer2835000' (length=164)
Je ne sais pas pourquoi l'array tabDetailTarifArticle s'affiche comme string et pas comme array :?

L'affichage devrait être comme suit :

BUS HOP ON HOP OFF BARCELONE 24H

BUS HOP ON HOP OFF 24H

Article :BUS HOP ON HOP OFF 24H

Status : OK

ListePax : 19;

CategClient: false;

...