HOWTO · PHP

Como Converter um Array em um Objeto em PHP

Este artigo introduz como converter um array em um objeto em PHP. Ele inclui o tipo casting, função json_decode() e função json_encode().

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"
}