Trabalhar com objetos é mais organizado e fácil do que utilizar arrays.
O código fica mais limpo, melhora a compreensão e também facilita na hora da exportação para algum tipo de armazenamento.
É possível trabalhar multidimensionalmente igual com array, porém deve ser tomado alguns cuidados durante a declaração do objeto.
Quando utilizar objeto dimensional, não é necessário setar ele com “(object) array()“, porém, se for colocá-lo em uma variável para polpar código, terá que setar como “(object) array()“, caso contrário nada será armazenado.
biblioteca->historia; $obj->biblioteca->historia->livro1 = "Civilization"; /* É OBRIGATÓRIO definir como objeto */ $historia = $obj->biblioteca->historia = (object) array(); $historia->livro1 = "Civilization"; ?> nome = "Maria"; $obj->sobrenome = "Fonte"; // multidimencional $obj->biblioteca = (object) array(); // Instancia um objeto $obj->biblioteca->matematica = (object) array(); $obj->biblioteca->matematica->livro1 = "Math v4"; $obj->biblioteca->matematica->livro2 = "Aprenda matematica"; $obj->biblioteca->historia = (object) array(); $obj->biblioteca->historia->livro1 = "Civilization"; $obj->biblioteca->historia->livro2 = "Maias ..."; $obj->biblioteca->geografia = (object) array(); $obj->biblioteca->geografia->livro1 = "Nosso Planeta"; $obj->biblioteca->geografia->livro2 = "Ocean v2 by Auth"; echo ''; print_r($obj);