PHP الاتصال بخدمة WCF بيانات إرجاع البيانات
سؤال
أواجه مشكلة في تحليل البيانات التي يتم إرجاعها بواسطة خدمة الويب WCF الخاصة بي.
خدمة الويب تمر بمرجع صفيف من السلاسل، يتم وضع هذه البيانات في كائن Stdclass، المشكلة التي صرفها هي أن البيانات تتغير اعتمادا على ما إذا كانت هناك كائن واحد أو أكثر.
بعد عدم التعامل مع كائنات Stdclass، لست متأكدا حقا ما يجب القيام به.
ما يلي هو الرمز الذي أستخدمه حاليا، حاويات $ هي قيمة الإرجاع من مكالمة خدمة الويب. giveacodicetagpre.
إذا كانت هناك قيمة واحدة فقط يتم إرجاعها، فإن التعليمات البرمجية التالية يعمل بشكل جيد ويعرض اسم الحاوية المرتجع. إذا كان هناك أكثر من قيمة يتم إرجاعها عن البند -> سلسلة تصبح صفيفا.هل هناك على أي حال لتحديد القيم التي تحتوي stdclass؟
var_dump مع حاوية واحدة فقط giveacodicetagpre.
var_dump مع أكثر من 1 حاوية giveacodicetagpre.
شكرا مقدما،
مات
المحلول
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>