Cómo convertir un array en un objeto en PHP

Minahil Noor 30 enero 2023
  1. Usar fundición de tipos para convertir un array en un objeto en PHP
  2. Usar json_encode() y json_decode() Función para convertir un array a un objeto en PHP
Cómo convertir un array en un objeto en PHP

Este artículo introduce métodos para convertir un array a un objeto en PHP.

  • Usando el type casting
  • Usando json_decode y json_encode()función

Usar fundición de tipos para convertir un array en un objeto en PHP

La tipografía ayuda a convertir el tipo de datos de una variable. Podemos convertir un integer en un float, string, etc. usando el tipecasting. Ahora usaremos tipografía para convertir un array en un objeto en PHP. El método correcto para fundir un array a un objeto es el siguiente:

$variableName = (object)$arrayName;

El programa de abajo muestra cómo podemos usar type casting para convertir un array a un 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"
}

Usar json_encode() y json_decode() Función para convertir un array a un objeto en PHP

Podemos usar las funciones json_encode() y json_decode() para convertir un array a un objeto en PHP. La función json_encode() convertirá el array en una string JSON. Luego usaremos la función json_decode() para convertir esta string en un objeto.

La sintaxis correcta para usar la función json_encode() es la siguiente:

json_encode($variable, $option, $depth)

La función json_encode() acepta tres parámetros. El detalle de sus parámetros es el siguiente

Parámetros Descripción
$variable obligatorio Es el valor que queremos convertir en una string de JSON.
$option opcional Es la máscara de bits que consiste en múltiples constantes. Puedes comprobar estas constantes aquí.
$depth opcional Es la profundidad, debería ser mayor que cero.

La sintaxis correcta para usar la función json_decode() es la siguiente:

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

La función json_decode() acepta cuatro parámetros. El detalle de sus parámetros es el siguiente

Parámetros Descripción
$jsonString obligatorio Es la cadena JSON que queremos convertir en un objeto.
$assoc opcional Es una variable booleana. Si se establece en TRUE, devuelve el objeto como un array asociativa.
$depth opcional Es la profundidad, debería ser mayor que cero.
$options opcional Es la máscara de bits de JSON_OBJECT_AS_ARRAY, JSON_BIGINT_AS_STRING,, JSON_THROW_ON_ERROR.

El programa que convierte un array en un objeto usando estas dos funciones es el siguiente:

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

Artículo relacionado - PHP Array