Contenido de string como variable

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 />";
}

/******************************/
?>

Posted

in

by

Tags:

Comments

3 respuestas a “Contenido de string como variable”

  1. Esteban Avatar

    Muchas Gracias!!!

  2. SEACOM Avatar

    Buena. Estuve horas tratando de solucionar esto, ahora encuentro respuestas…

  3. Nicolas Avatar

    Creo que es cuestion de gusto y/o destreza del programador. A mí en lo personal nunca me ha gustado trabajar con arrays…

Agregue un comentario a SEACOM Cancelar respuesta

Su dirección de correo no se hará público. Los campos requeridos están marcados *