访问具有未知键的嵌套关联数组


Accessing nested associative array with unknown keys

我试图从对象中的多维数组访问元素。例如,假设有一个类Foo,它有一个变量$phone,表示多维数组。

$phone -> structure will look like
Array {
  "home" Array(1) {[0] = "555-1212"},
  "work" Array(2) {[0] = "555-1234", [1] = "555=5434"},
  "other" Array(1) {[0] = "555=9090"}
}

注意:我们不能假设我们知道键。

我可以通过提供显式键来访问值,即

$foo->phone["home"][0]

当我不明确地知道密钥并从其他地方提取它们时,问题就出现了。例如,如果$type="phone", $subtype =" home",并且我想要使用第一个条目:

$object->$type[$subtype][0]

获取值,但我得到一个错误,它不认为这是一个数组。我不确定错误在哪里。

下一步是将元素添加到最底层数组中。我假设下面的代码可以工作,但是没有:

array_push($object->$type[$subtype], $value)

这个多维数组将允许我在一个嵌套结构中存储按键标记的电话号码。如果这使问题过于复杂,请告诉我。我选择这种结构的原因是键可以是用户自定义的任何东西。

谢谢。

我相信这将工作,如果你保存$object->$type作为它自己的变量,然后访问该变量,以深入到数组