[Duda]Arreglos en PHP

Iniciado por rolly21102, 30 Junio 2010, 07:58 AM

0 Miembros y 1 Visitante están viendo este tema.

rolly21102

Buenas amigos.! Recientemente vengo practicando un poco PHP y me he topado con los arreglos... Se me presenta la siguiente problematica...

Con un arreglo multidimiencional como podria hacer para que cuando se  seleccione la Marca Nike, Talla 35, el arreglo me  devolva los modelos asociados a la Marca Nike y las Cantidades existen de cada modelo de la Talla 35.

Ejemplo:

Modelo A   |  4 pares
Modelo B   | 10 pares
Modelo N   | 14 pares.

Yo llegue hacerlo hasta aqui:

<?php
$cantidad 
= array (
'nike' => array (
'35' => '',
'36' => '',
'37' => '',
'38' => '',
'39' => '',
'40' => ''
),
'puma' => array (
'35' => '',
'36' => '',
'37' => '',
'38' => '',
'39' => '',
'40' => ''
),
'zara' => array (
'35' => '',
'36' => '',
'37' => '',
'38' => '',
'39' => '',
'40' => ''
),   
  
);

?>




Como podria hacer para acomodar el arreglo y agregar los modelos y cantidades? Y que cuando recuperé o consulté el arreglo me duelva un valor como por Ejemplo:

Modelo A   |  4 pares
Modelo B   | 10 pares
Modelo N   | 14 pares.


Muchas Gracias

Salu2

luiggy2

Sería algo así:

Código (php) [Seleccionar]

<?php
$cantidad 
= array (
'nike' => array (
'35' => 3,
'36' => 6,
'37' => 8,
'38' => 7,
'39' => 2,
'40' => 0
),
'puma' => array (
'35' => 23,
'36' => 3,
'37' => 9,
'38' => 7,
'39' => 3,
'40' => 4
),
'zara' => array (
'35' => 3,
'36' => 2,
'37' => 6,
'38' => 7,
'39' => 0,
'40' => 10
),   
  
);


//mostramos las datos para una marca

echo "Modelo Nike, nº 35: Existen ".$cantidad['nike']['35']." pares";


?>


Saludos!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

Servia

#2
Cita de: luiggy2 en 30 Junio 2010, 11:24 AM
Sería algo así:
Saludos!

No, él no quiere eso fíjate bien.

Quiere la cantidad del modelo A , talla X de la marca nike.
$cantidad['nike']['modeloa']['35']

Yo haría otro subarray.

Código (php-brief) [Seleccionar]
<?php
$cantidad 
= array (
'nike' => array (
        'modeloa'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
        'modelob'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
),
'puma' => array (
        'modeloa'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
        'modelob'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
),
'zara' => array (
        'modeloa'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
        'modelob'=> array (
                           '35' => 3,
                           '36' => 6,
                           '37' => 8,
                           '38' => 7,
                           '39' => 2,
                           '40' => 0
                                                                                 
),
),   
 
);
 
 
//mostramos las datos para una marca
 
echo "Modelo A de Nike, talla 35: Existen ".$cantidad['nike']['modeloa']['35']." pares";
 
 
?>


Edito:
Si quieres mostrar todos los datos deberás usar foreach.

Shell Root

Cita de: Servia en 30 Junio 2010, 13:49 PMSi quieres mostrar todos los datos deberás usar foreach.
O un: xD

Código (php) [Seleccionar]
print_r( $cantidad );
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

rolly21102

Gracias por responder amigos.! Pero lo que me estan pidiendo es que con el valor marca y talla me devuelva todos los modelos de esa marca con la talla que colocamos y las respectivas cantidades de cada modelo...

Ejemplo: Seleccionamos NIKE TALLA:35

Tiene que devolver todos los modelos de la marca NIKE, con la talla y las cantidades que quedan de esa talla.

Me entienden?

Estoy pariendo para hacerlo  :-\

Gracias

Shell Root

A ver que no entiendo. Supongamos que tenemos lo siguiente:
Código (php) [Seleccionar]
=> Zapatos # Producto
   => Nike # Marca
    => 39 # Talla
      => 2 # Cantidad
    => 40 # Talla
      => 6 # Cantidad


Entonces si te piden el producto Zapatos, marca Nike, talla 39, tiene que mostrarte Tiene 2 unidades? Eso es lo que quieres?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Servia

Cita de: rolly21102 en  2 Julio 2010, 06:14 AM
Gracias por responder amigos.! Pero lo que me estan pidiendo es que con el valor marca y talla me devuelva todos los modelos de esa marca con la talla que colocamos y las respectivas cantidades de cada modelo...

Ejemplo: Seleccionamos NIKE TALLA:35

Tiene que devolver todos los modelos de la marca NIKE, con la talla y las cantidades que quedan de esa talla.

Me entienden?

Estoy pariendo para hacerlo  :-\

Gracias

No veo error en mi forma de hacerlo, sólo hay que cambiar la forma de mostrarlo, en vez de por modelo por tallas que muestre de cada una los modelos disponibles...

rolly21102

#7
Cita de: Servia en  2 Julio 2010, 08:58 AM
Cita de: rolly21102 en  2 Julio 2010, 06:14 AM
Gracias por responder amigos.! Pero lo que me estan pidiendo es que con el valor marca y talla me devuelva todos los modelos de esa marca con la talla que colocamos y las respectivas cantidades de cada modelo...

Ejemplo: Seleccionamos NIKE TALLA:35

Tiene que devolver todos los modelos de la marca NIKE, con la talla y las cantidades que quedan de esa talla.

Me entienden?

Estoy pariendo para hacerlo  :-\

Gracias

No veo error en mi forma de hacerlo, sólo hay que cambiar la forma de mostrarlo, en vez de por modelo por tallas que muestre de cada una los modelos disponibles...

Si bro tu arreglo es el que mas se acerca como podria hacer para que muestre todos los modelos de esa marca con sus respectiva cantidad? con foreach? pero como? yo se usar foreach pero en un arreglo asociativo simple.. en este caso que es multidimencional como podria hacer?

Les explico con mas detalle lo que necesito hacer:

Supongamos que seleccionamos la marca puma y talla 35

Me tiene que devolver algo parecido a esto:



rolly21102

Ya resolvi la anterior.... De la siguiente manera:

foreach($cantidad['nike'] as $key=>$name){
     echo "<br>".$key."<br>";


Una ultima pregunta amigos.! Como podria hacer para contar los modelos existentes de una determinada marca con "count" ?

Gracias