PHP: Convertir array en objeto

Ya hemos visto como podemos crear un objeto en PHP de una forma sencilla. Ahora vamos a ver como podemos crear un objeto desde un array en PHP. Es decir, el objeto y las propiedades estarán definidas dentro de un array. El objeto que vamos a crear en PHP representa a un libro con las siguientes propiedades: Titulo – Las legiones malditas Autor – Santiago Posteguillo Editorial – Ediciones B Fecha Publicación – 2008 Lo primero que haremos será definir el array en PHP con las propiedades del objeto:

$miarray = array("titulo"=>"Las legiones malditas",
  "autor" => "Santiago Posteguillo",
  "editorial" => "Ediciones B",
  "fechaPublicacion" => 2008);

Vemos que el valor del índice de los elementos del array es el nombre de la propiedad y el valor del índice en el array es el valor de dicha propiedad. En el código anterior hemos creado e insertado los valores del array directamente en la instanciación del mismo. Si bien podríamos ir por partes, si te resulta más sencillo:

$miarray = array();
$miarray["titulo"] = "Las legiones malditas";
$miarray["autor"] = "Santiago Posteguillo";
$miarray["editorial"] = "Ediciones B";
$miarray["fechaPublicacion"] = 2008;

Si comprobamos la estructura de la variable $miarray, veremos que esta es, obviamente, de tipo array:

array(4) { ["titulo"]=> string(21) "Las legiones malditas" ["autor"]=> string(20) "Santiago Posteguillo" ["editorial"]=> string(11) "Ediciones B" ["fechaPublicacion"]=> int(2008)

Lo siguiente que haremos será transformar el array a un objeto. Para ello forzamos la conversión de tipos anteponiendo el tipo al que queremos convertir en una asignación. En este caso creamos el objeto desde un array forzando el tipo object.

$libro = (object)$miarray;

Si ahora comprobamos la estructura de $libro veremos lo siguiente:

object(stdClass)#1 (4) { ["titulo"]=> string(21) "Las legiones malditas" ["autor"]=> string(20) "Santiago Posteguillo" ["editorial"]=> string(11) "Ediciones B" ["fechaPublicacion"]=> int(2008) }
Publicado en PHP

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Categorías

junio 2014
L M X J V S D
« May   Jul »
 1
2345678
9101112131415
16171819202122
23242526272829
30