【问题标题】:How PHP parse object sdtClass [closed]PHP如何解析对象sdtClass [关闭]
【发布时间】:2012-08-03 05:57:43
【问题描述】:

当我运行 SOAP 客户端时,我得到以下响应。

如何在 php 中解析这个结构?我只想取NUGGETNAME 的值。

如何计算结果的长度?

        object(stdClass)#2 (1) {
          ["GetHotelNuggetResult"]=>
          object(stdClass)#3 (1) {
            ["HotelNugget"]=>
            array(9) {
              [0]=>
              object(stdClass)#4 (7) {
                ["NUGGETNAME"]=>
                string(19) "Yaz Tatili Otelleri"
                ["NUGGETORDER"]=>
                string(2) "10"
                ["PARENTUNIQUECODE"]=>
                string(10) "AS_SOL_UST"
                ["REWRITENUGGETNAME"]=>
                string(19) "yaz-tatili-otelleri"
                ["TITLE"]=>
                string(19) "Yaz Tatili Otelleri"
                ["UNIQUECODE"]=>
                string(5) "YTOTL"
                ["WEBNUGGETID"]=>
                int(306)
              }
              .......//other results

              }
    }

【问题讨论】:

  • 定义解析?您有一些不错的对象,那么您还想用它做什么?
  • 我想在屏幕上打印 NUGGETNAME 的值。
  • $obj->PropertyName 这是您可以在 php 中访问对象属性的方式。

标签: php parsing object stdclass


【解决方案1】:
$O = response(....);
var_dump($O->GetHotelNuggetResult->HotelNugget[0]->NUGGETNAME);

【讨论】:

  • 它有效但结果是字符串(19)“Yaz Tatili Otelleri”如何消除字符串(19)和“字符”
  • @enginar 去掉 var_dump() (即用 echo 替换)
  • 最后一个,怎么知道结果数
  • "HotelNugget" 看起来像一个数组,所以你可以简单地做 count(...->HotelNugget)$count = 0; if(!empty(...->HotelNugget)) $count = count(...->HotelNugget);
  • 我会给出一个更“笼统”的建议,学 PHP?
猜你喜欢
  • 2013-04-29
  • 1970-01-01
  • 2015-07-16
  • 2013-02-28
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多