Foros del Web » Programando para Internet » PHP »

Copiar un array a objeto

Estas en el tema de Copiar un array a objeto en el foro de PHP en Foros del Web. Buenas, les comento mi problema. Lo que necesito es copiar lo que tiene un array, supongamos de 10 posiciones a un objeto. O sea que ...
  #1 (permalink)  
Antiguo 25/02/2008, 08:51
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Copiar un array a objeto

Buenas, les comento mi problema. Lo que necesito es copiar lo que tiene un array, supongamos de 10 posiciones a un objeto. O sea que el objeto luego de la copia pueda contener todo lo que tenia el array.
El resultado que necesito tiene que ser igual a lo que entrega la funcion mysql_fetch_object. Si alguno tiene alguna sugerencia sera recibida.

Gracias.
  #2 (permalink)  
Antiguo 25/02/2008, 09:22
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Copiar un array a objeto

Cita:
Iniciado por Jarancho Ver Mensaje
Buenas, les comento mi problema. Lo que necesito es copiar lo que tiene un array, supongamos de 10 posiciones a un objeto. O sea que el objeto luego de la copia pueda contener todo lo que tenia el array.
El resultado que necesito tiene que ser igual a lo que entrega la funcion mysql_fetch_object. Si alguno tiene alguna sugerencia sera recibida.

Gracias.
Código:
function array2object($array) {
 
    if (is_array($array)) {
        $obj = new StdClass();
 
        foreach ($array as $key => $val){
            $obj->$key = $val;
        }
    }
    else { $obj = $array; }
 
    return $obj;
}
 
function object2array($object) {
    if (is_object($object)) {
        foreach ($object as $key => $value) {
            $array[$key] = $value;
        }
    }
    else {
        $array = $object;
    }
    return $array;
}
 
 
// example:
 
$array = array('foo' => 'bar', 'one' => 'two', 'three' => 'four');
 
$obj = array2object($array);
 
print $obj->one; // output's "two"
 
$arr = object2array($obj);
 
print $arr['foo']; // output's bar
http://www.jonasjohn.de/snippets/php/array2object.htm
__________________
programación php
  #3 (permalink)  
Antiguo 25/02/2008, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Copiar un array a objeto

Puedes crear un objeto y asignarle las propiedades, por decir:
Código PHP:
$arreglo = array( "a" => "uno""b" => "dos""c" => "tres" );
$objeto = new StdClass();
foreach( 
$arreglo as $key => $item ) {
        
$objeto->$key $item;
}

echo 
$objeto->a// Imprime "uno" 
Saludos.
  #4 (permalink)  
Antiguo 25/02/2008, 10:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 30
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Copiar un array a objeto

Gracias por las respuestas. Me sirvieron.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.