Foros del Web » Programando para Internet » PHP »

combinar mi array

Estas en el tema de combinar mi array en el foro de PHP en Foros del Web. hola, resulta que quiero imprimir los errores de un formulario, mi scrip lo tengo muy bien salvo que se imprime en el error el nombre ...
  #1 (permalink)  
Antiguo 09/07/2008, 09:27
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
combinar mi array

hola, resulta que quiero imprimir los errores de un formulario, mi scrip lo tengo muy bien salvo que se imprime en el error el nombre del campo por ejemplo

Su nobr esta vacio.
cuando deveria ser:
Su nombre esta vacio.

Asi que pense en hacer un script anexo que me recoja en un array las claves del form y me las remplace por todas las claves de un array que contienen el nombre a imprimir cuando hay error.

es decir:

$_clvesform= /// recolo las claves del form.. nobr,sx,cid,mail
$_clvescambia=array('NOMBRE','SEXO','CIUDAD','EMAI L')
$_cbinarr=// conbino los arrays
lo que quiero es que se me genere un array algo asi

$_cbinarr=array(
[nobr]=>"NOMBRE",
[sx]=>"SEXO",
);
es posible?

gracias

Última edición por nes24; 09/07/2008 a las 09:29 Razón: ampliacion
  #2 (permalink)  
Antiguo 09/07/2008, 09:33
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: combinar mi array

si es posible, con la ayuda de un arreglo asociativo.
Código PHP:
$_clvescambia=array('nobr'=>'NOMBRE','sx'=>'SEXO','cid'=>'CIUDAD','mail'=>'EMAIL'
y para mostrarlo sería así
Código PHP:
echo $_clvescambia['nobr'];//muestra NOMBRE
echo $_clvescambia['sx'];//muestra SEXO
//etc.. 
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 09/07/2008, 09:41
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: combinar mi array

Cita:
Iniciado por eits Ver Mensaje
si es posible, con la ayuda de un arreglo asociativo.
Código PHP:
$_clvescambia=array('nobr'=>'NOMBRE','sx'=>'SEXO','cid'=>'CIUDAD','mail'=>'EMAIL'
y para mostrarlo sería así
Código PHP:
echo $_clvescambia['nobr'];//muestra NOMBRE
echo $_clvescambia['sx'];//muestra SEXO
//etc.. 
saludos.
gracias eso lo se, la cuestion es que los datos VIENEN VIA POS, y lo que necesito es :

* Que automaticamente la primera clave del PRIMER array se convine con la primera clave del SEGUNDO array y asi sucesivamente

gracias.
  #4 (permalink)  
Antiguo 09/07/2008, 09:53
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: combinar mi array

prueba usando array_combine

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 09/07/2008, 10:06
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: combinar mi array

Cita:
Iniciado por eits Ver Mensaje
prueba usando array_combine

saludos.
Aja asi es, la cuestion es que este me toma lso valores como clave del nuevo array, y los valores del segundo array me los toma como valor del nuevo arrray.

Como puedo hacer para:

que las "claves" del NUEVO ARRAY sean los valores del primer array PERO las claves del segundo array sean los VALORES del nuevo array.

el asunto esta en convertir en el segundo arrary los valores por claves... algo asi como inveritrlos...
  #6 (permalink)  
Antiguo 09/07/2008, 10:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: combinar mi array

el asunto es como pasas los arreglos a la funcion, el primer parametro(array) que recibe serán las claves y el segundo los valores, recuerda que para que esto funcione los dos arreglos deben ser de la misma longitud.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 09/07/2008, 10:25
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: combinar mi array

Cita:
Iniciado por eits Ver Mensaje
el asunto es como pasas los arreglos a la funcion, el primer parametro(array) que recibe serán las claves y el segundo los valores, recuerda que para que esto funcione los dos arreglos deben ser de la misma longitud.

saludos.
Exacto eso lo tengo claro, te pregunto... como puedo invertir los datos en ARRAY2, es decir:
que de ..
$array2=array('0'=>"nbr");
pase a ser
$array2=array('nbr'=>"0");

gracias
  #8 (permalink)  
Antiguo 09/07/2008, 10:47
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: combinar mi array

perdona, creo que ya no entiendo
Código PHP:
//si recojes las claves del form, te debe quedar algo como esto
$_clvesform=array('nobr','sx','cid','mail');//no literalmente, pero la variable representara esto
$_clvescambia=array('NOMBRE','SEXO','CIUDAD','EMAI L')//tienes el otro arreglo
//combinando
$arrComb=array_combine($_clvesform,$_clvescambia);
//tu resultado seria
//$arrComb=array('nobr'=>'NOMBRE'...etc.); 
ahora bien, si es de esa forma, porque no generar el arreglo asociativo directamente, ya que conoces el contenido del form y tienes el otro arreglo con los datos que quieres mostrar.

lamento haberme perdido, pero es que estoy en el trabajo y pues ya sabes como es esto.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #9 (permalink)  
Antiguo 09/07/2008, 16:33
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: combinar mi array

Oye muchas gracias...
jeje, Lo que pasa es que para el ejemplo lo puse asi.. pero la verdad es que lso datos vienen de un psot, he hay el problema ...

la cuestion seria asi

$_clvesform=array('nobr'=>'lalalalalalalalalalal', 'sx'=>'lalalalalalalalalalal','cid'=>'lalalalalala lalalalal','mail'=>'lalalalalalalalalalal');//array de $_POST


$_clvescambia=array('NOMBRE','SEXO','CIUDAD','EMAI L')//tienes el otro arreglo

$arrComb=array_combine($_clvesform,$_clvescambia);

por eso creo que la variable $_clvesform, deve cambiar la clave por su valor, es devir que el valor se convierta en clave y la clave en valor, de esta forma el pudiera combinar el array_combine. Como hago este cambio?? es decir que las claves se vuelvan valores y los valores se vuelvan claves....
  #10 (permalink)  
Antiguo 10/07/2008, 16:29
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: combinar mi array

mira, sin pensarle mucho, se me ocurre que puedes hacer algo como esto:
Código PHP:
$nuevoArray=array;//creamos un arreglo para meter los valores de $_clvesform y quitar las claves
foreach($_clvesform as $k=>$v){
    
$nuevoArray[]=$v;//asignamos solo valores a nuestro nuevo arreglo
}
$_clvescambia=array('NOMBRE','SEXO','CIUDAD','EMAI L')//tienes el otro arreglo
$arrComb=array_combine($_clvescambia,$nuevoArray);//combinamos 
espero y te sirva, saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 15:56.