Я пытаюсь получить доступ к элементам из многомерного массива в объекте.Например, предположим, что существует некоторый класс 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)
Этот многомерный массив позволит мне хранить телефонные номера, помеченные клавишами, в одной вложенной структуре.Если это усложняет проблему, пожалуйста, дайте мне знать.Причина, по которой я выбрал эту структуру, заключается в том, что ключи могут быть любыми пользовательскими настройками.
Спасибо.