Aprenda a converter um objeto em array no PHP

Veja como transformar um objeto em array no PHP utilizando diferentes abordagens.

Como converter um objeto em array no PHP?

Em PHP, podemos converter um objeto para um array utilizando diferentes métodos, dependendo do cenário e da estrutura do objeto.

1. Conversão Simples com Type Casting ((array))

<?php
class Usuario {
    public $nome;
    public $email;
    public function __construct($nome, $email) {
        $this->nome = $nome;
        $this->email = $email;
    }
}

$usuario = new Usuario("Carlos", "carlos@email.com");
$arrayUsuario = (array) $usuario;

print_r($arrayUsuario);
?>

Explicação do Código

  • O operador (array) converte diretamente o objeto em um array associativo.
  • Os atributos do objeto se tornam chaves do array.

2. Usando get_object_vars()

<?php
$arrayUsuario = get_object_vars($usuario);
print_r($arrayUsuario);
?>
  • A função get_object_vars() retorna um array com os atributos públicos do objeto.

3. Conversão com json_encode() e json_decode()

<?php
$arrayUsuario = json_decode(json_encode($usuario), true);
print_r($arrayUsuario);
?>
  • json_encode() transforma o objeto em JSON.
  • json_decode(..., true) converte o JSON para um array associativo.

A conversão de objetos em arrays é um recurso útil no PHP para manipulação de dados de forma mais flexível. Ele permite facilitar a serialização, transmissão de dados e interação com APIs externas, garantindo que os dados sejam acessíveis de maneira mais estruturada.

Algumas aplicações:

  • Facilidade na manipulação de objetos como arrays
  • Integração de objetos com APIs que retornam JSON
  • Serialização e deserialização de dados para armazenamento
  • Conversão de objetos para manipulação em frameworks PHP

Dicas para quem está começando

  • Use (array) para conversões simples e diretas.
  • Utilize get_object_vars() para extrair os atributos públicos do objeto.
  • Prefira json_encode() seguido de json_decode(true) para conversões profundas.
  • Verifique sempre a estrutura do objeto antes de convertê-lo.
  • Teste diferentes métodos para escolher o mais adequado ao seu caso.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como converter um objeto em array no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como comparar objetos no PHP?

Veja como comparar objetos em PHP e as diferenças entre comparação por valor e por referência.

Tutorial anterior

Como usar Reflection API para inspecionar classes em PHP?

Veja como utilizar a Reflection API em PHP para analisar e manipular classes, métodos e propriedades de forma dinâmica.

Próximo tutorial