質問
私のWCF Webサービスによって返されるデータの解析に問題がある。
Webサービスは文字列の配列を渡しています。このデータはSTDCLASSオブジェクトに入れられます。
STDCLASSオブジェクトを扱ったことがない私は何をすべきかは確かではありません。
以下が現在使用しているコードは、Webサービスコールからの戻り値です。
<ul>
<?php var_dump($containers)?>
<?php foreach($containers as $item):?>
<li>
<?php
echo $item->string;
?>
</li>
<?php endforeach;?>
</ul>
.
返却された値が1つある場合、次のコードはうまく機能し、返されたコンテナ名を表示します。 返品されている値が1以上の場合$ ITEM-> STRINGが配列になります。STDClassが含まれている値を決定するのは何ですか?
var_dump Just 1コンテナ
object(stdClass)[13]
public 'GetContainersResult' =>
object(stdClass)[14]
public 'string' => string 'container1' (length=10)
.
1つ以上のコンテナを持つvar_dump
object(stdClass)[13]
public 'GetContainersResult' =>
object(stdClass)[14]
public 'string' =>
array
0 => string 'container1' (length=10)
1 => string 'container2' (length=10)
.
事前にありがとう、
マット
解決
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>
所属していません StackOverflow