Foros del Web » Programando para Internet » PHP »

Crear for dentro de un arreglo

Estas en el tema de Crear for dentro de un arreglo en el foro de PHP en Foros del Web. Saludos cordiales amigos foristas buenos dias, tengo una duda con respecto a enviar varios items para cargar los productos y proceder a su pago por ...
  #1 (permalink)  
Antiguo 20/05/2013, 08:05
 
Fecha de Ingreso: junio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 2
Pregunta Crear for dentro de un arreglo

Saludos cordiales amigos foristas buenos dias, tengo una duda con respecto a enviar varios items para cargar los productos y proceder a su pago por mercadopago este es el ejemplo del esquema que quiero hacer, en este ejemplo no tengo errores de PHP porque todo es estatico.

$preference = array(
"external_reference"=>"PEDIDO_525252521",
"items" => array(

array(
"title" => "PRODUCTO 1",
"quantity" => 2,
"currency_id" => "ARS",
"unit_price" => 5.00),

array(
"title" => "PRODUCTO 2",
"quantity" => 1,
"currency_id" => "ARS",
"unit_price" => 6.00),


array(
"title" => "PRODUCTO 3",
"quantity" => 1,
"currency_id" => "ARS",
"unit_price" => 9.00),


)
);

El problema es que esos productos son dinamicos y si en vez de cargarlos como el ejemplo anterior los cargo asi


$preference = array(
"external_reference"=>"PEDIDO_525252521",
"items" => array(



for($i=0;$i<2;$i++)
{
array(
"title" => "$nombre_producto",
"quantity" => $cantidad,
"currency_id" => "ARS",
"unit_price" => $precio),


}



)
);

El php no me permite crear un for dentro de la estructura array alguien sabe como cargar n arreglos de items dentro de otro... muchas graciasespero de su valiosa ayuda..
  #2 (permalink)  
Antiguo 20/05/2013, 08:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear for dentro de un arreglo

Eso no se puede hacer, "meter un for dentro de un arreglo" es absurdo.

Lo que debes hacer es iterar con el for() e ir agregando elementos al arreglo, a eso se le conoce como aritmética básica de arrays.

Código PHP:
Ver original
  1. $foo = array();
  2.  
  3. for (/* ... */) {
  4.   $foo['items']  []= array(/* ... */);
  5. }

Cita:
Iniciado por rafaelg21 Ver Mensaje
El php no me permite crear un for dentro de la estructura array
Pues claro que no lo permite, simplemente estás haciendo cosas como te imaginas y no como es permitido.

Así que como no sabes trabajar con arrays, te invito a leer el manual para que aprendas a hacerlo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/05/2013, 08:11
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Respuesta: Crear for dentro de un arreglo

Código PHP:
Ver original
  1. $productos = array();
  2.  
  3. for($i=0;$i<2;$i++){
  4.  
  5.    $producto = array(
  6.      "title" => $nombre_producto,
  7.      "quantity" => $cantidad,
  8.      "currency_id" => "ARS",
  9.      "unit_price" => $precio);
  10.  
  11.    array_push($productos, $producto);
  12.  
  13. }
  14.  
  15. print_r($productos);
  #4 (permalink)  
Antiguo 20/05/2013, 13:44
 
Fecha de Ingreso: junio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Crear for dentro de un arreglo

Cita:
Iniciado por pr0 Ver Mensaje
Código PHP:
Ver original
  1. $productos = array();
  2.  
  3. for($i=0;$i<2;$i++){
  4.  
  5.    $producto = array(
  6.      "title" => $nombre_producto,
  7.      "quantity" => $cantidad,
  8.      "currency_id" => "ARS",
  9.      "unit_price" => $precio);
  10.  
  11.    array_push($productos, $producto);
  12.  
  13. }
  14.  
  15. print_r($productos);

Gracias por tu respuesta amigo pero me sigue pasando lo mismo lo coloque asi... un ejemplo de la idea que me das peor me da error de PHP donde esta en rojo porque es alli donde debo cargar el arreglo.


$productos = array();

for($i=0;$i<2;$i++){

$producto = array(
"title" => "PRODUCTO 1",
"quantity" => 2,
"currency_id" => "ARS",
"unit_price" => 5.00);

array_push($productos, $producto);

}


$mp = new MP("8657008936637658", "hB12jYmvfVSFVYd5SLgA7JNfGtNQzc2B");
$preference = array(
"external_reference"=>"PEDIDO_525252521",
"items" => array(

print_r($productos);


)
);
  #5 (permalink)  
Antiguo 20/05/2013, 13:53
 
Fecha de Ingreso: junio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Crear for dentro de un arreglo

Cita:
Iniciado por pateketrueke Ver Mensaje
Eso no se puede hacer, "meter un for dentro de un arreglo" es absurdo.

Lo que debes hacer es iterar con el for() e ir agregando elementos al arreglo, a eso se le conoce como aritmética básica de arrays.

Código PHP:
Ver original
  1. $foo = array();
  2.  
  3. for (/* ... */) {
  4.   $foo['items']  []= array(/* ... */);
  5. }



Pues claro que no lo permite, simplemente estás haciendo cosas como te imaginas y no como es permitido.

Así que como no sabes trabajar con arrays, te invito a leer el manual para que aprendas a hacerlo.
Gracias por tu respuesta... pero aun sigo sin entender los arreglo el manual lo he visto y bueno es muy basico aqui el problema es cargar dinamicamente n arreglo dentro de otro. el ejemplo que me muestra me imagino que al intentar cargarlo dentro de la operacion que quiero lo debo hacer por medio de un for y me va a genrar el error..
  #6 (permalink)  
Antiguo 21/05/2013, 05:14
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Respuesta: Crear for dentro de un arreglo

Pues claro que te da error, print_r es para imprimir por pantalla un array.

Lo que tu buscas será: "items" => array($productos);

Etiquetas: arreglo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:06.