Foros del Web » Programando para Internet » PHP »

Modificar un array

Estas en el tema de Modificar un array en el foro de PHP en Foros del Web. Hola Amigos!!! Me encontre con un inconveniente y no lo puedo resolver pongo el codigo y explico @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $cantidad = ...
  #1 (permalink)  
Antiguo 04/03/2013, 11:59
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Modificar un array

Hola Amigos!!!
Me encontre con un inconveniente y no lo puedo resolver
pongo el codigo y explico
Código PHP:
Ver original
  1. $cantidad=array('0','2','0','10','8');
  2. $presu_bundle=array('0','1','0','1','0');
  3. $id=array('49','49','49','60','60','60');
  4. $cantibun=array();
  5. foreach($presu_bundle as $h=>$bun)
  6.             {
  7.                     if($bun=='1')
  8.                             {  
  9.                            
  10.                                     $cantibun[]=$cantidad[$h];         
  11.                                 }
  12.             }
  13.             print_r($cantibun)
esto me imprime
Array ( [0] => 2 [1] => 10 )
y lo que necesito es que me imprima los valores con respecto a la cantidad de igualdades que tiene el array $id asi
Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 )
existe la forma de lograr esto
saludos y muchas gracias!!!
  #2 (permalink)  
Antiguo 04/03/2013, 12:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Modificar un array

No entiendo a qué te refieres con igualdades en $id y qué relación tienen los números que indicas Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 ) ya que el contenido es array('49','49','49','60','60','60');
Quizá si explicas mejor...
  #3 (permalink)  
Antiguo 04/03/2013, 12:19
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Modificar un array

Con el poco código no se logra entender lo que quieres logra. Se puede deducir que quieres que por cada id no importando que se repita el id aparezca el número deseado. Con tan poco código con lo que haz mostrado no se logra entender donde está el error. Si puedes colocar un ejemplo un poco más real de lo que haces y con ese testear lo que quieres lograr tal vez se pueda ayudar mejor.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 04/03/2013, 12:29
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

hola ocp001a gracias por contestar
lo que necesito lograr es que si el array $id contiene 5 elementos por lo tanto esos 5 dividirlos en los que son iguales , tengo 3 elementos '49' y 3 elementos '60'
entonces,necesito de alguna forma que el array $cantibun valga
Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 )
porque? porque $id tiene 6 elementos o sea 3 iguales y 3 iguales
entonces mientras los elementos de $id sean iguales que tambien sean iguales el contenido de $cantibun
Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 )
ojala me haya explicado bien
  #5 (permalink)  
Antiguo 04/03/2013, 12:33
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

gracias abimaelrc por contestar
por favor disculpenme si no me se explicar lo suficiente
pero la verdad no se que mas puedo agregar,
seguire probando a ver que sale...
  #6 (permalink)  
Antiguo 04/03/2013, 12:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Modificar un array

Yo al menos entiendo lo que quieres lograr, pero como estás colocando un extracto del código y no el código perse es dificil explicarte o encontrar donde está el error.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 04/03/2013, 12:50
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

ese es todo el codigo , la diferencia es que los arreglos los obtengo desde un formulario pero basicamente es eso nada mas.
obtengo los mismos arrays pero con distintos valores
yo creo que anidando algunas funciones de arrays lo puedo llegar a lograr el problema no se cuales me estoy fijando en el manual todas las funciones de array pero no encuentro cual me puede servir
  #8 (permalink)  
Antiguo 04/03/2013, 12:52
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

bueno lo unico es que estos dos los obtengo juntos
Código PHP:
Ver original
  1. $cantidad=array('0','2','0','10','0');
  2. $presu_bundle=array('0','1','0','1','0');
y $id=array('49','49','49','60','60','60');desde otro formulario
  #9 (permalink)  
Antiguo 04/03/2013, 12:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Modificar un array

Bueno en ese caso el problema es el if que está permitiendo la entrada de solo dos datos los que tengan 1 solamente. Quita el if y trata nuevamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 04/03/2013, 12:56
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

de esta forma
Código PHP:
Ver original
  1. $cantidad=array('0','2','0','10','8');
  2. $presu_bundle=array('0','1','0','1','0');
  3. $id=array('49','49','49','60','60','60');
  4. $cantibun=array();
  5. foreach($id as $ide)
  6. {
  7. foreach($presu_bundle as $h=>$bun)
  8.             {
  9.                 $cantibun[]=$cantidad[$h];         
  10.             }
  11. }
$cantibun imprime esto
Código PHP:
Ver original
  1. Array ( [0] => 0 [1] => 2 [2] => 0 [3] => 10 [4] => 8 [5] => 0 [6] => 2 [7] => 0 [8] => 10 [9] => 8 [10] => 0 [11] => 2 [12] => 0 [13] => 10 [14] => 8 [15] => 0 [16] => 2 [17] => 0 [18] => 10 [19] => 8 [20] => 0 [21] => 2 [22] => 0 [23] => 10 [24] => 8 [25] => 0 [26] => 2 [27] => 0 [28] => 10 [29] => 8 )
  #11 (permalink)  
Antiguo 04/03/2013, 12:59
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

y lo que necesito lograr es que $cantibun imprima asi:
Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 )

y tambien necesito filtrar donde $presu_bundle valga 0
  #12 (permalink)  
Antiguo 04/03/2013, 13:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Modificar un array

Pero es a lo que voy, en el primero solo tienes un foreach y en el segundo que muestras tienes dos, recomiendo que postees exactamente lo que tienes hecho de esa forma se te puede ayudar mejor.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 04/03/2013, 13:06
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Modificar un array

ahi va ,(lo borre todo y empece de nuevo) voy por aca
por favor guiate por este
Código PHP:
Ver original
  1. $presu_bundle=array('0','1','0','1','0');
  2. $cantidad=array('0','2','0','10','0');
  3.  
  4. $id=array('49','49','49','60','60','60');
  5. $cantibun=array();
  6.  
  7. foreach($presu_bundle as $h=>$bun)
  8.         {
  9.                 if($bun=='1')
  10.                         {
  11.                         $cantibun[]=    $cantidad[$h];
  12.                         }
  13.             }
  14.             print_r($cantibun)
salida
Array ( [0] => 2 [1] => 10 )
me falta meter en algun lado el array id para que $cantibun sea
Array ( [0] => 2 [1] => 2 [2] => 2 [3] => 10 [4] => 10 [5] => 10 )
Muchas gracias Por seguir en mi problema

Etiquetas: modificar
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 12:58.