Algunas personas me dicen si es posible concatenar texto (string) para formar un nombre de variable, por ejemplo si quieres crear variables $mivariable1, $mivariable2, etc….
para este tipo de cosas yo les recomiendo usar mejor los arrays, que tienen esa finalidad, pero solo por temas didácticos (y por ahí para algún uso específico)
aquí les paso el texto y como siempre está comentado:
<?php $mivariable1 = 10; //valor inicial es 10 $texto = 'mivariable'; //este texto contiene la primera parte de la variable que queremos concatenar echo ${$texto . 1}; //con eso concatenamos el contenido de la variable texto (mivariable) con el 1, por tanto generamos la variable $mivariable1 ${'mivariable' . 1} += 10; //se comportan exactamente igual como una variable, en este caso usamos directamente el texto y le agregamos un 10 (nuevo valor = 20) echo "<br />"; echo ${'mivariable' . 1}; ${'mivariable' . 2} = 30; //podemos crear la variable de esa manera y luego usarla de la otra (ojo, recuerda que hay un espacio entre el punto y el numero) echo "<br />"; echo $mivariable2; //usamos la variable que creamos anteriormente de la otra manera
Como les dije al inicio, para realizar eso, mejor es usar un array:
<?php $i=1; $misvariable = array(); $mivariable[0] = 10; //posicion 0 $mivariable[$i] = 20; //posicion $i, es decir 1 $mivariable[$i+1] = 30; //posicion 2 $mivariable['untexto']= 40; //no necesariamente tiene que ser numerico, sino texto tambien /*********Funciones con arrays**************/ echo "total elementos: " . count($mivariable) . "<br />"; foreach($mivariable as $item) { echo $item . "<br />"; } /****ahora el mismo recorrido pero con los indices****/ foreach($mivariable as $key=>$item) { echo "Indice : ". $key . "-> valor: " .$item . "<br />"; } /******************************/ ?>
Muchas Gracias!!!
Buena. Estuve horas tratando de solucionar esto, ahora encuentro respuestas…
Creo que es cuestion de gusto y/o destreza del programador. A mí en lo personal nunca me ha gustado trabajar con arrays…