Prentice Cleanning

Prentice Cleanning

Specializes in exceptional

MuniManantay

MuniManantay

Municipalidad de Manantay

ShuttleMexico

ShuttleMexico

Transport Company

JoyeriaFinne

JoyeriaFinne

Taller de joyeria

Sep
06

Convertir Array de datos en Objeto y viceversa (PHP)

Escrito por Carlos Montalvo hace 1 mes y 4 semanas, archivado en Desarrollo Web

En el foro de WebLiveHelp trataban un problema de conversión de array a objeto y viceversa no se si es el mejor método de conversión pero creo una alternativa seria esta..

// Funcion de Objeto a Array
function object_to_array($object)
{
  if(is_array($object) || is_object($object))
  {
    $array = array();
    foreach($object as $key => $value)
    {
      $array[$key] = object_to_array($value);
    }
    return $array;
  }
  return $object;
}

// Funcion de Array a Objeto
function array_to_object($array = array())
{
	return (object) $array;
}

Metodo de funcionamiento
- Trabajando con array_to_object

//creamos un array de dominios
$array_urls = array("a"=>"calinsoft.com","b"=>"gacetaucayalina.com","c"=>"jacknoticias.com");

//Se vuelca la informacion para darnos cuenta de la estructura.
echo "<pre>";
	var_dump($array_urls);
echo "</pre>";

/* nos dara
array(3) {
  ["a"]=>
  string(13) "calinsoft.com"
  ["b"]=>
  string(19) "gacetaucayalina.com"
  ["c"]=>
  string(16) "jacknoticias.com"
}
*/

//Ahora ese array lo convertimos en objeto mediante la funcion "array_to_object"
$object_urls =	array_to_object($array_urls);

//Volcamos la informacion de la conversion
echo "<pre>";
	var_dump($object_urls);
echo "</pre>";

/* nos dara
object(stdClass)#1 (3) {
  ["a"]=>
  string(13) "calinsoft.com"
  ["b"]=>
  string(19) "gacetaucayalina.com"
  ["c"]=>
  string(16) "jacknoticias.com"
}
*/

//Y con el objeto ya creado para mostrar el valor "a"
echo $object_urls->a;
/*nos dara
    "calinsoft.com"
*/

- Trabajando con object_to_array


//Ahora creamos una clase sencilla

class object_urls{

	var $a ;
	var $b ;
	var $c ;

	//php5
	function __construct(){
		$this->a ="calinsoft.con";
		$this->b ="gacetaucayalina.com";
		$this->c ="jacknoticias.com";

	}

	//php4
	function object_urls(){
		$this->__construct();
	}

}

//creamos un instancia de la clase
$object_urls2 = new object_urls();

//Se vuelca la informacion del objeto para darnos cuenta de su estructura.
echo "<pre>";
	var_dump($object_urls2);
echo "</pre>";
/* nos dara
object(object_urls)#2 (3) {
  ["a"]=>
  string(13) "calinsoft.con"
  ["b"]=>
  string(19) "gacetaucayalina.com"
  ["c"]=>
  string(16) "jacknoticias.com"
}

*/

//Ahora convertimos la clase en array mediante la funcion "object_to_array"
$array_urls2 = object_to_array($object_urls2) ;

//Volcamos la informacion de la conversion
echo "<pre>";
	var_dump($array_urls2);
echo "</pre>";
/*nos dara
array(3) {
  ["a"]=>
  string(13) "calinsoft.con"
  ["b"]=>
  string(19) "gacetaucayalina.com"
  ["c"]=>
  string(16) "jacknoticias.com"
}
*/

//Para trabajas con el array solo
echo $array_urls2["a"];

/*nos dara
    "calinsoft.com"
*/

Espero que les aya servido :) .

Tags: , ,

Entradas Relacionadas:

Comparte esta noticia

Danos tu opinion sobre esta noticia.

CalinSoft se reserva el derecho de eliminar o editar todo comentario que considere ofensivo o difamatorio. Debatir, criticar NO ES INSULTAR.