Lo siento pero no llego a comprender del todo por qué haces lo que haces y cuál es su objetivo final
Por ejemplo, en la función esa que has creado en la línea:
Código PHP:
$indice=eval('return $val'.$array_cad.';');
terminas poniendo el valor recogido en la dimensión recorrida como nuevo indice del array retorno que se devuelve y poniéndole como valor el array en esa dimensión de $key
Haciendo un pequeño ejemplo, si tenemos:
Código PHP:
$arr[0]["atrib1"] = '01';
$arr[0]["atrib2"] = '02';
$arr[0]["atrib3"] = '03';
$arr[1]["atrib1"] = '11';
$arr[1]["atrib2"] = '12';
$arr[1]["atrib3"] = '13';
$arr[2]["atrib1"] = '21';
$arr[2]["atrib2"] = '22';
$arr[2]["atrib3"] = '23';
// Llamamos a la función
$arr_retornado = setIndiceAtrubuto($arr, array("atrib2"));
// Ahora se recorre el array devuelto
foreach ( $arr_retornado as $k => $v ) {
echo '<br />- en el índice ['.$k.'] => el valor es de '.$v;
foreach ( $v as $vk => $vv ) {
echo '<br />'." ".'- en el índice ['.$vk.'] => el valor es de '.$vv;
}
}
// Esto da por pantalla:
Código HTML:
- en el índice [02] => el valor es de Array
- en el índice [atrib1] => el valor es de 01
- en el índice [atrib2] => el valor es de 02
- en el índice [atrib3] => el valor es de 03
- en el índice [12] => el valor es de Array
- en el índice [atrib1] => el valor es de 11
- en el índice [atrib2] => el valor es de 12
- en el índice [atrib3] => el valor es de 13
- en el índice [22] => el valor es de Array
- en el índice [atrib1] => el valor es de 21
- en el índice [atrib2] => el valor es de 22
- en el índice [atrib3] => el valor es de 23
Y no llego a comprender el propósito, no sé ...