Como Converter Arrays em Objetos e Vice-Versa Usando Uma Linha de Código

Nem sempre o que temos é o que queremos, e trabalhar com arrays e objetos simultaneamente acaba se tornando chato, eu pessoalmente não gosto muito de arrays, principalmente quando é para exibir na tela os resultados de uma pesquisa do banco de dados ou coisa do tipo.

Já vi em muitos código fontes, funções um tanto que imensas para realizar a tarefa de conversão de tipos – arrays para objetos ou objetos para arrays. Mas o que muita gente não sabe é que existe um atalho para isto, simples e rápido. Vejamos um exemplo:

$dados = array('nome' =>'Mateus', 'sexo'=>'Masculino');
echo $dados['nome']; //Resultado: Mateus
echo $dados->nome; //Resultado: Erro

$dados = (object) $dados; //É aqui que tudo funciona...
echo $dados->nome; //Resultado: Mateus

Anteriormente tinhamos uma array – $dados -, que em um “passe de mágica” virou um objeto. Para converter um objeto em uma array o processo é bem simples também:

$array = (array) $objeto;

Também é possível formatar outros tipos, como string, integer ou float:

$numero = (float) $numero;
$boolean = (boolean) $boolean;
$string = (string) $string;
....

Tecnicamente falando, este processo é chamado de Type Casting, ou Tipo de Vazamento em português e como o próprio nome já diz, ele converte o modo de vazamento (ou distribuição) de um elemento. Para saber um pouco mais, veja no manual do PHP sobre Type Casting.

Se você não sabe o tipo do elemento, use a função var_dump ou a função para debug. Até mais.