Como Converter um Array em um Objeto em PHP

Minahil Noor 30 janeiro 2023
  1. Use o Type Casting para converter um Array em um objeto em PHP
  2. Utilize json_encode() e json_decode() Função para converter um array para um objeto em PHP
Como Converter um Array em um Objeto em PHP

Este artigo introduz métodos para converter um array para um objeto em PHP.

  • Utilizando o tipo casting
  • Utilizando json_decode e json_encode() função

Use o Type Casting para converter um Array em um objeto em PHP

A digitação ajuda na conversão do tipo de dados de uma variável. Podemos converter um integer em um float, string, etc. utilizando a digitação. Agora utilizaremos o tipo de fundição para converter um array em um objeto em PHP. O método correto para fundir um array em um objeto é o seguinte:

$variableName = (object)$arrayName;

O programa abaixo mostra como podemos utilizar o type casting para converter um array em um objeto.

<?php 
$array = array("Rose",
                "Lili",
                "",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "",
                "Daffodil",
                "Daisy");
                
$object= (object)$array;
echo("The object is \n");
var_dump($object);
?> 

Resultado:

The object is 
object(stdClass)#1 (10) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(0) ""
  [3]=>
  string(7) "Jasmine"
  [4]=>
  string(8) "Hibiscus"
  [5]=>
  string(5) "Tulip"
  [6]=>
  string(10) "Sun Flower"
  [7]=>
  string(0) ""
  [8]=>
  string(8) "Daffodil"
  [9]=>
  string(5) "Daisy"
}

Utilize json_encode() e json_decode() Função para converter um array para um objeto em PHP

Podemos utilizar as funções json_encode() e json_decode() para converter um array a um objeto em PHP. A função json_encode() converterá o array para um JSON string. Então utilizaremos a função json_decode() para converter esta string para objeto.

A sintaxe correta para utilizar a função json_encode() é a seguinte:

json_encode($variable, $option, $depth)

A função json_encode() aceita três parâmetros. Os detalhes de seus parâmetros são os seguintes

Parâmetros Descrição
$variable obrigatório É o valor que queremos converter em um string JSON.
$option opcional É a máscara de bits que consiste em múltiplas constantes. Você pode verificar estas constantes aqui.
$depth opcional É a profundidade, deve ser maior que zero.

A sintaxe correta para utilizar a função json_decode() é a seguinte:

json_decode($jsonString, $assoc, $depth, $options)

A função json_decode() aceita quatro parâmetros. O detalhe de seus parâmetros é o seguinte

Parâmetros Descrição
$jsonString obrigatório É a seqüência JSON que queremos converter em um objeto.
$assoc opcional É uma variável booleana. Se definida como VERDADEIRA, ela retorna o objeto como uma array associativa.
$depth opcional É a profundidade, deve ser maior que zero.
$options opcional É a bitmask do JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING, JSON_THROW_ON_ERROR.

O programa que converte um array em um objeto utilizando estas duas funções é o seguinte:

<?php 
$array = array("Rose","Lili","Jasmine","Hibiscus","Tulip","Sun Flower","Daffodil","Daisy");
$object = json_encode($array);
$object1 = json_decode($object);
echo("The object is:\n");
var_dump($object1);
?> 

Resultado:

The object is:
array(8) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(5) "Tulip"
  [5]=>
  string(10) "Sun Flower"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
}

Artigo relacionado - PHP Array