Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/11/2011, 03:16
Avatar de Rafael
Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Ordenar Anidado o pájaro dodo

Ok, voy entendiendo.

Ahora quiero entender un poquito más cómo se construye el array

Si agrego un print_r acá:

Código PHP:
    while ($reg mysql_fetch_array($res)) {
        
$nombres[$reg['apellido']][] = $reg['nombre'];
print_r($reg);
    } 
Lo que descubro es que prácticamente se genera el contendio completo de la bdd,

y después imprimiendo $nombres

Código PHP:
    while ($reg mysql_fetch_array($res)) {
        
$nombres[$reg['apellido']][] = $reg['nombre'];
print_r($nombres);
    } 
lo que tiene es un array de apellidos, con un array de nombres dentro.

Código PHP:
Array
(
    [
López] => Array
        (
            [
0] => Hugo
            
[1] => Paco
        
)

)

Array
(
    [
Pérez] => Array
        (
            [
0] => Luis
            
[1] => Pedro
        
)


Pero no entiendo de dónde se genera el primer array, el de apellidos, ya que nunca dijimos:
Código PHP:
$nombres $reg['apellido']; 
Editado. Bueno creo que ya entendí, que lo primero que generé fué el Key de cada valor.

Y ahora, ¿cómo podría agregar un array superior, por ejemplo Grupos?

Primaria
-López
--Hugo
--Paco


Secundaria
-López
--Juan
-Pérez
--Pedro


¿Algo así?
Código PHP:
$nombres[$reg['Grupo']][] = $reg['Apellido'];
$nombres[$reg['Grupo']][$reg['Apellido'][]; = $reg['Nombre']; 

Última edición por Rafael; 30/11/2011 a las 09:25