Crear un objeto desde un array en PHP

13/may/2013 PHP , 1 Comentario

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:

  1. $miarray = array("titulo"=>"Las legiones malditas",
  2. "autor" => "Santiago Posteguillo",
  3. "editorial" => "Ediciones B",
  4. "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:

  1. $miarray = array();
  2. $miarray["titulo"] = "Las legiones malditas";
  3. $miarray["autor"] = "Santiago Posteguillo";
  4. $miarray["editorial"] = "Ediciones B";
  5. $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.

  1. $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) }

Ya hemos visto como crear un objeto desde un array en PHP.

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*