entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Array associativo multidimensional en PHP

En mi codigo tengo este array:

$pool = array();

while(condicion) {
    $pool = array(key => array( sub_key => subvalue ) );
}

Quiero que:
Para cada key podra contener 1 o mas arrays de modo que

si key = 789 contendra subkey = 12 value="cmir"
   key = 789 contendra subkey = 13 value="ueo"

A la hora de imprimir el array:

foreach($pool as $key => $value) {
    echo $key; 
    foreach(value as $k => $v) {
        echo $k. " ". $v;
    }
}

Obtengo solamente la tupla key = 789 con subkey = 13 y value = "ueo" pero no la primera

Alguien me podria decir donde esta el error ?

1 Respuesta

1voto

carlossevi Puntos63580

Tu problema lo tienes en la siguiente línea de código:

$pool = array(key => array(sub_key => subvalue));

En cada ciclo del bucle while estás sobreescribiendo el contenido de la variable $pool, por lo que al final de la ejecución sólo te quedará el último valor asignado.

Creo que te debería funcionar si lo sustituyes por lo siguiente:

$pool[key] = array(sub_key => subvalue));

0voto

Leonardo-Tadei comentado

Además, no suele ser buena práctica pasar un valor por referencia a una función y modificarlo, salvo por supuesto el caso de que el objetivo de la función sea hacer una modificación al valor...

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta