Sep
06
06
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
.

















