Tema: Arrays
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/05/2011, 05:59
DarkWater
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: Arrays

Hola,

me explico mas claro y con código:

He conseguido crear la siquiente funcion que hace lo que yo necesito pero usando eval():

Código PHP:
public static function setIndiceAtrubuto($array,$indices)
    {
        
$retorno=array();
        
$array_cad='[\''.implode("']['",$indices).'\']';
        
        foreach(
$array as $key => $val)
        {
            
$indice=eval('return $val'.$array_cad.';');
            
$retorno[$indice]=$array[$key];
        }
        
        return 
$retorno;
    } 
Como verás, necesito una función a la que se le pase un array, este array tiene que ser bidimensional y contiene los atributos de una consulta a la base de datos con el siguiente formato:

Código PHP:
$arr[0]["atrib1"]
$arr[0]["atrib2"]
$arr[0]["atrib3"]

$arr[1]["atrib1"]
$arr[1]["atrib2"]
$arr[1]["atrib3"]

....

$arr[n]["atrib1"]
$arr[n]["atrib2"]
$arr[n]["atrib3"
Pasados los datos a la funcion esta tiene que devolver un array con el indice pasado como primera dimension:

EJ:

pasamos el siguiente array

Código PHP:
$arr[0]["atrib1"];
$arr[0]["atrib2"];
$arr[0]["atrib3"];

$arr[1]["atrib1"];
$arr[1]["atrib2"];
$arr[1]["atrib3"];

$arr[2]["atrib1"];
$arr[2]["atrib2"];
$arr[2]["atrib3"];

setIndiceAtrubuto($arr,array("atrib2")); 
tendria que devolver:

Código PHP:
$arr["atrib1"]["atrib1"];
$arr["atrib1"]["atrib2"];
$arr["atrib1"]["atrib3"];

$arr["atrib1"]["atrib1"];
$arr["atrib1"]["atrib2"];
$arr["atrib1"]["atrib3"];

$arr["atrib1"]["atrib1"];
$arr["atrib1"]["atrib2"];
$arr["atrib1"]["atrib3"];