Crear un objeto desde un array en PHP

13/May/2013 PHP , 3 Comentarios

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

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

3 comentarios en “Crear un objeto desde un array en PHP”

Víctor Cuervo

Andrés

buenas tardes. Como podria Instanciar a 20 alumnos? en php

Víctor Cuervo

Víctor Cuervo

Buenas Andrés,

Puedes instanciar la clase alumno en cada una de las posiciones del array. Algo así:

$alumnos[0] = new alumno('Juan', 12);
$alumnos[1] = new alumno('Maria',13);
...

Espero que te sirva.

Víctor Cuervo

Andrés

instanciar 20 alumnos

¿Algo que nos quieras comentar?

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

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.