Cita:
Iniciado por GeekGirl Me imagino que por algún motivo no podés declarar directamente los valores dentro de los índices. Entonces podés usar array_push():
Código PHP:
<?php
$a = array("fruta" => array(), "verdura" => array(), "nombres" => array());
array_push($a["fruta"], "manzana", "arándano");
?>
Gracias por la ayuda pero la idea es, no tocar el array $a, ni valores ni indices (los obtengo dinamicamente desde una base de datos), es decir, necesito que pueda ser cambiado en tiempo de ejecucion.
A lo mas que llegue es a esto:
Código PHP:
function cambiarClave(&$data)
{
$b = array("lechuga","apio","zapallo");
foreach ($data as $key => $value)
{
$nuevaClave = "verdura";
if ($nuevaClave == $value)
{
unset($data[$key]);
$data[$nuevaClave] = $b;
}
if (is_array($value))
{
cambiarClave($data[$key]);
}
}
}
$prueba = array("fruta", "verdura","nombres");
cambiarClave($prueba);
echo "<pre>";
print_r($prueba);
echo "</pre>";
La salida es
Código HTML:
Array
(
[0] => fruta
[2] => nombres
[verdura] => Array
(
[0] => lechuga
[1] => apio
[2] => zapallo
)
)
El problema es que verdura tendria que ocupar la segunda posicion y no la tercera.