PHP الاتصال بخدمة WCF بيانات إرجاع البيانات

StackOverflow https://stackoverflow.com/questions/5058604

  •  15-11-2019
  •  | 
  •  

سؤال

أواجه مشكلة في تحليل البيانات التي يتم إرجاعها بواسطة خدمة الويب 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top