Foros del Web » Programando para Internet » PHP »

Concatenar string con variable

Estas en el tema de Concatenar string con variable en el foro de PHP en Foros del Web. Muy buenas compañeros. Me estoy adentrando en el maravilloso mundo de la programación WEB *_*. Me surge una duda. El problema es el siguiente: Tengo ...
  #1 (permalink)  
Antiguo 10/11/2008, 16:34
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Concatenar string con variable

Muy buenas compañeros.

Me estoy adentrando en el maravilloso mundo de la programación WEB *_*. Me surge una duda.

El problema es el siguiente: Tengo una serie de variables que se llaman semana1, semana2, semana3 y semana4. Para todas esas variables realizo la misma función, con lo que me gustaría saber si es posible hacer algo como esto:

for ($i=1;$i<=4;$i++){
$semana.$i = 4; /para todas las semanas hacemos lo mismo
}

Se que esto no está bien escrito pero me gustaría saber si es posible. También se que podría definir un array para hacer esto, pero me gustaría saber si se puede hacer algo parecido.

Saludos y gracias
  #2 (permalink)  
Antiguo 10/11/2008, 16:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: Concatenar string con variable

Hola

pero que sentido tiene concatenarle en este caso la variable $i?

Un saludo
  #3 (permalink)  
Antiguo 10/11/2008, 16:42
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Concatenar string con variable

Lo ideal sería que $semana fuese un array, que para eso se inventaron.

De todos modos si necesitas que sean variables independientes puedes usar lo que se llaman variables variables, y sería algo así:

${'semana'.$i} = 4

Echa un ojo al manual de PHP.
  #4 (permalink)  
Antiguo 10/11/2008, 17:19
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Concatenar string con variable

pues si si consigues meterlo en un array lo tendras resuleto.
  #5 (permalink)  
Antiguo 11/11/2008, 07:51
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Concatenar string con variable

La question es que son variables que provienen de un formulario, donde los campos NAME son: semana1, semana2, semana3, semana4. La página php que recibe la información hace una función que es la misma para para todas las variables. Por eso me interesa hacer un for.

Por ejemplo, en action secript se haria de la siguiente manera: _root["semana".i]

Saludos y gracias por las respuestas
  #6 (permalink)  
Antiguo 11/11/2008, 08:15
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Concatenar string con variable

¿Probaste lo que te puse?

De todos modos, hay métodos para que las variables de un formulario las tome como arrays, no estoy seguro, pero si le pones de nombre a los campos "semana[]", al pillar $_GET['semana'] será un array.... (no estoy seguro de que sea así, tendrías que investigarlo)

Pero recalco lo primero: ¿Has probado de la manera que puse en mi primera respuesta?
  #7 (permalink)  
Antiguo 11/11/2008, 09:19
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Concatenar string con variable

Perfecto!

FUnciona correctamente. Voy a plasmar el código de la miniaplicación que sirve para calcular el sueldo mensual

<?php
//Inicialización
$sueldo_total=0;
for ($i=1;$i<=4;$i++){
//fijamos el precio hora
$sueldo_fijo = 15;
echo "horas realizadas en semana $i:<br/>";
//La variable ${'sema'.$i} representa la semana de la cual hemos intruducido las horas y provienen de un formulario
if(${'sema'.$i}>40){
${'horas_extra'.$i}=${'sema'.$i}-40;
echo "Horas normales: 40, Horas extra: ${'horas_extra'.$i}<br/>";
$sueldo[i]=${'horas_extra'.$i}*$sueldo_fijo*1.5+40*$sueldo_f ijo;
echo "Sueldo semana $i: $sueldo[i]<br/><br/>";
}
else{
echo "Horas normales: ${'sema'.$i}<br/>";
$sueldo[i]=${'sema'.$i}*$sueldo_fijo;
echo "Sueldo semana $i: $sueldo[i]<br/><br/>";
}
$sueldo_total=$sueldo_total+$sueldo[i];
}
echo"<h2>Sueldo mensual: $sueldo_total</h2>";
?>
  #8 (permalink)  
Antiguo 11/11/2008, 10:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Concatenar string con variable

personalmente la solución de names... n0, n1, n2, etc.. es estúpida!

si para eso existen los santos arreglos...

y incluso siempre es mejor, que andar haciendo "experimentos", digo... a la larga un array es posible de mantener, corregir y mejorar.... pero un name numerado (que horror)

por ej. ahí un simple array_sum (en lugar del ciclo) y bingo!! ¿cierto?

la verdad, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 10:31.