1

在解码我存储的 JSON 字符串之一时,对象的数组成员被封装在对象中,这使得访问数组元素不方便。

该对象units包含一个对象数组,该数组unit由三种类型之一的键定义。数组排列如下:

array (typeA => unit(1), typeB => unit(2), typeC => unit(3) )

我还有一个数组,其中包含按顺序排列的三种类型,如下所示:

array (typeA, typeB, typeC)

因此,要访问一个单元,假设您不知道确切的单元类型,它在逻辑上会遵循如下内容:

Units->$type[$i][$j]

但它不起作用。我尝试了以下方法:

Units->{$type[$i]}[$j]

Units->$type[$i]->$j

我设法让它工作的唯一方法是将动作分成两行。首先获取密钥,然后为单元对象应用索引。

$aUnit = $units->$type[$i]; // Gets <type x>
$aUnit = $aUnit[$j]; // Gets the unit obj at j

这是结构的转储:

object(stdClass)[4]
  public 'typeA' => 
    array (size=50)
      0 => 
        object(stdClass)[1]
          public 'id' => int 436
4

0 回答 0