Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: rolly21102 en 30 Junio 2010, 07:58 am



Título: [Duda]Arreglos en PHP
Publicado por: rolly21102 en 30 Junio 2010, 07:58 am
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:

Código:
<?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


Título: Re: [Duda]Arreglos en PHP
Publicado por: luiggy2 en 30 Junio 2010, 11:24 am
Sería algo así:

Código
  1. <?php
  2. $cantidad = array (
  3. 'nike' => array (
  4. '35' => 3,
  5. '36' => 6,
  6. '37' => 8,
  7. '38' => 7,
  8. '39' => 2,
  9. '40' => 0
  10. ),
  11. 'puma' => array (
  12. '35' => 23,
  13. '36' => 3,
  14. '37' => 9,
  15. '38' => 7,
  16. '39' => 3,
  17. '40' => 4
  18. ),
  19. 'zara' => array (
  20. '35' => 3,
  21. '36' => 2,
  22. '37' => 6,
  23. '38' => 7,
  24. '39' => 0,
  25. '40' => 10
  26. ),  
  27.  
  28. );
  29.  
  30.  
  31. //mostramos las datos para una marca
  32.  
  33. echo "Modelo Nike, nº 35: Existen ".$cantidad['nike']['35']." pares";
  34.  
  35.  
  36. ?>

Saludos!


Título: Re: [Duda]Arreglos en PHP
Publicado por: Servia en 30 Junio 2010, 13:49 pm
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
  1. <?php
  2. $cantidad = array (
  3. 'nike' => array (
  4.        'modeloa'=> array (
  5.                           '35' => 3,
  6.                           '36' => 6,
  7.                           '37' => 8,
  8.                           '38' => 7,
  9.                           '39' => 2,
  10.                           '40' => 0
  11.                                                                                 ),
  12.        'modelob'=> array (
  13.                           '35' => 3,
  14.                           '36' => 6,
  15.                           '37' => 8,
  16.                           '38' => 7,
  17.                           '39' => 2,
  18.                           '40' => 0
  19.                                                                                 ),
  20. ),
  21. 'puma' => array (
  22.        'modeloa'=> array (
  23.                           '35' => 3,
  24.                           '36' => 6,
  25.                           '37' => 8,
  26.                           '38' => 7,
  27.                           '39' => 2,
  28.                           '40' => 0
  29.                                                                                 ),
  30.        'modelob'=> array (
  31.                           '35' => 3,
  32.                           '36' => 6,
  33.                           '37' => 8,
  34.                           '38' => 7,
  35.                           '39' => 2,
  36.                           '40' => 0
  37.                                                                                 ),
  38. ),
  39. 'zara' => array (
  40.        'modeloa'=> array (
  41.                           '35' => 3,
  42.                           '36' => 6,
  43.                           '37' => 8,
  44.                           '38' => 7,
  45.                           '39' => 2,
  46.                           '40' => 0
  47.                                                                                 ),
  48.        'modelob'=> array (
  49.                           '35' => 3,
  50.                           '36' => 6,
  51.                           '37' => 8,
  52.                           '38' => 7,
  53.                           '39' => 2,
  54.                           '40' => 0
  55.                                                                                 ),
  56. ),  
  57.  
  58. );
  59.  
  60.  
  61. //mostramos las datos para una marca
  62.  
  63. echo "Modelo A de Nike, talla 35: Existen ".$cantidad['nike']['modeloa']['35']." pares";
  64.  
  65.  
  66. ?>

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


Título: Re: [Duda]Arreglos en PHP
Publicado por: Shell Root en 30 Junio 2010, 21:36 pm
Si quieres mostrar todos los datos deberás usar foreach.
O un: xD

Código
  1. print_r( $cantidad );


Título: Re: [Duda]Arreglos en PHP
Publicado por: 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


Título: Re: [Duda]Arreglos en PHP
Publicado por: Shell Root en 2 Julio 2010, 06:37 am
A ver que no entiendo. Supongamos que tenemos lo siguiente:
Código
  1. => Zapatos # Producto
  2.   => Nike # Marca
  3.    => 39 # Talla
  4.      => 2 # Cantidad
  5.    => 40 # Talla
  6.      => 6 # Cantidad

Entonces si te piden el producto Zapatos, marca Nike, talla 39, tiene que mostrarte Tiene 2 unidades? Eso es lo que quieres?


Título: Re: [Duda]Arreglos en PHP
Publicado por: Servia en 2 Julio 2010, 08:58 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...


Título: Re: [Duda]Arreglos en PHP
Publicado por: rolly21102 en 2 Julio 2010, 18:05 pm
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:

(http://img293.imageshack.us/img293/1179/pantalla2.jpg) (http://img293.imageshack.us/i/pantalla2.jpg/)


Título: Re: [Duda]Arreglos en PHP
Publicado por: rolly21102 en 6 Julio 2010, 21:16 pm
Ya resolvi la anterior.... De la siguiente manera:

Código:
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