我试图从对象中的多维数组中访问元素。例如,我们假设有一些类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)
这个多维数组允许我将键标记的电话号码存储在一个嵌套结构中。如果这个问题过于复杂,请告诉我。我选择这种结构的原因是因为键可以是用户自定义的任何内容。
感谢。
答案 0 :(得分:1)
我相信如果您将$ object-> $ type保存为自己的变量,然后访问该变量以深入数组,这将会有效。