我试图从对象中的多维数组访问元素。例如,假设有一个类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作为它自己的变量,然后访问该变量,以深入到数组