代码之家  ›  专栏  ›  技术社区  ›  Abaij

如何在stdClass对象中获取变量值?

  •  1
  • Abaij  · 技术社区  · 10 年前

    我从stdClass格式的API获得返回结果。我对这类数据一无所知。所以这里看起来像:

    object(stdClass)#41 (1) { 
       ["return"]=> 
           object(stdClass)#42 (7) {
              ["afterPayOrderReference"]=> string(32) "d4ab78df6ab2ef84194dd1c1d66240b8"
              ["checksum"]=> string(32) "4f8826a99e9c0a67e578d04b6a625117" 
              ["resultId"]=> int(0) 
              ["statusCode"]=> string(1) "A" 
              ["timestampIn"]=> float(1408533108515) 
              ["timestampOut"]=> float(1408533113616) 
              ["transactionId"]=> int(129525) 
           } 
    }
    

    我需要的是检索statusCode值。我在一篇帖子中尝试过这样做:

    $array = (array) $stringResult;
    $array[0]->statusCode;
    

    但它没有起作用。请,有人用最简单的方式向我解释,因为这对我来说真的很新鲜。谢谢。

    2 回复  |  直到 10 年前
        1
  •  2
  •   AbraCadaver    10 年前

    使用访问对象财产 -> 操作人员只要做到:

    echo $stringResult->return->statusCode;
    

    如果您想要一个数组,您可以这样访问,因为该数组包含一个对象:

    $array = (array)$stringResult;
    echo $array['return']->statusCode;
    
        2
  •  -1
  •   user969234    10 年前

    它是一个对象数组,所以正如您调用数组元素一样,

    echo $stringResult["return"]->statusCode