获取嵌套在多个数组中的值

问题描述:

我从脚本得到下面的响应,并且我需要提取板,模型,序列号,当前和升级。获取嵌套在多个数组中的值

Net\Response Object 
(
    [unrecognizedWords:protected] => Array 
     (
     ) 

    [_type:Net\Response:private] => !re 
    [attributes:protected] => Array 
     (
      [board] => true 
      [model] => CRD 
      [serialnumber] => XXXXXXXX 
      [current] => 5.11 
      [upgrade] => 5.11 
     ) 

    [_tag:Net\Message:private] => 
) 

我有多种组合,如本:

echo unrecognizedWords:protected->attributes:protected->board; 

但是我不能让我们的数组的值。

有人可以帮助我吗?

+0

这是你从字面上从脚本中获得的?如果是这样,它不是一个合适的数组,它看起来更像var_dump()的输出。 –

+0

@AlanHorrocks它是一个'print_r'。 – Borsn

+0

那很奇怪 - 它是哪种Response对象?它是某种公共图书馆的一部分,还是仅仅是你自己的对象? – pilec

您无法获得对象的任何受保护或私有属性(仅公开)。使用这个对象的公共方法(getter)(当然,它提供了)。

阅读:PHP: Visibility

+0

它只是响应。我不能提取我需要的值? – Borsn

+0

在使用它之前,您必须将输出解析为适当的数组或对象。你有控制脚本返回的内容吗?如果是这样,你可以让它返回一个JSON编码的字符串,它可以很容易地变成一个对象。 –

+0

@Borsn,你用什么库来获得这个回应? –