Frage

Ich habe ein Problem mit dem Analysieren der Daten, die von meinem WCF-Webdienst zurückgegeben werden.

Der Web-Service findet eine Anordnung von Zeichenfolgen statt, wobei diese Daten in ein stdClass-Objekt gelegt werden, das Problem, das ich auftrat, ist, dass sich die Daten ändern, je nachdem, ob es 1 oder mehr Objekte gibt.

Nachdem ich nie mit stdclass-Objekten gehandelt habe, bin ich nicht wirklich sicher, was ich tun soll.

Im Folgenden ist der derzeit verwendete Code, den $ Container den Rückgabewert des Web-Service-Anrufs ist. generasacodicetagpre.

Wenn nur 1 Wert zurückgegeben wird, funktioniert der folgende Code gut und zeigt den zurückgegebenen Containernamen an. Wenn mehr als ein Wert von mehr als einem Wert zurückgegeben wird, wird $ item-> entsprechend anordnet.Gibt es sowieso, um zu bestimmen, welche Werte stdclass enthält?

var_dump mit nur 1 container generasacodicetagpre.

var_dump mit mehr als 1 container generasacodicetagpre.

Vielen Dank im Voraus,

matt

War es hilfreich?

Lösung

you can use is_array($item->string) to check if you have an array and then process it appropriately. Based on your code, I think something like this might work for you.

<?php var_dump($containers)?>
<ul>
<?php foreach($containers as $item):
         if(is_array($item->string)):
            foreach($item->string as $subitem):
                <li class="subitem"><?php echo $subitem; ?></li>
            <?php 
            endforeach;
         else: ?>
        <li><?php echo $item->string; ?></li>
          <?php 
          endif;
      endforeach;    
?>
</ul>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top