Foros del Web » Programando para Internet » PHP »

Concatenar para formar una variable

Estas en el tema de Concatenar para formar una variable en el foro de PHP en Foros del Web. tengo 4 array llamados $z1a, $z2a, $z3a y $z4a, y quiero hacer un ciclo donde los uso una vez a cada uno de ellos, pero ...
  #1 (permalink)  
Antiguo 24/05/2003, 21:54
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Concatenar para formar una variable

tengo 4 array llamados $z1a, $z2a, $z3a y $z4a, y quiero hacer un ciclo donde los uso una vez a cada uno de ellos, pero no quiero hacer un ciclo para cada array, por lo que queria saber si yo puedo concatenar de alguna manera para formar el nombre de los arrays.
podria algo asi???:

$con=1;
for($con2=1; $con2<=5; $con++){
$zona="$z".$con."a";
if (count($zona)>1){

for($i=1; $i<count($zona); $i++){?>

<?=$zona[$i]["num1"]?>
<?=$zona[$i]["num2"]?>
}
}
}
  #2 (permalink)  
Antiguo 25/05/2003, 02:25
 
Fecha de Ingreso: septiembre-2001
Ubicación: Monterrey
Mensajes: 663
Antigüedad: 16 años, 2 meses
Puntos: 6
Si tus arreglos son de indices numericos puedes unir dos o mas arreglos usando la funcion array_merge. Y si tienes una mescla de indices numericos y asociativos ten cuidado que no coincidan estos ultimos si no el ultimo indice coincidente sobreescribira al anterior. para solventar este problema puedes usar array_merge_recursive, pero si no es tu caso no te prepocupes.
Ejemplo de uso.
Código PHP:
$todos array_merge$z1a$z2a$z3a$z4a );
for( 
0<= count$todos ); i++ )
{
    echo 
$todos$i ] ;
}

// Otra opcion

foreach( $todos as $tmp )
{
    echo 
$tmp;

Como quiera visita la documentacion para mas detalles http://www.php.net/manual/en/function.array-merge.php

Saludos.

Última edición por Herminio Heredia San; 26/05/2003 a las 00:51
  #3 (permalink)  
Antiguo 25/05/2003, 14:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Y si la idea de Herminio no te convence, o tienes curiosidad de como se hace con tu idea original (casi lo logras) mira http://www.php.net/manual/en/languag...s.variable.php

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 25/05/2003, 23:14
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Herminio gracias por tu ayuda, pero no es lo que necesito, porque no quiere que me una todos los datos de los arrays, quiero poder usarlos a cada uno por separo (cada uno iria en una tabla separada).

Josemi, lei el manual pero la verdad no entendi bien como se usan las variables variables. Me puedes explicar como tendria que hacer para formar los nombres de mis variables con ellas.
  #5 (permalink)  
Antiguo 25/05/2003, 23:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Un ejemplo:

Código PHP:
<?
$numero
=1;
${
"z".$numero."a"}="valor";
echo 
$z1a;
?>
Lo que hay entre {} precedido de $ será el nombre de nuestra variable .. la cual (el nombre, cadena) la componemos con lo que necesitemos (sean variables .. o cadenas "fijas" como el ejemplo).

Si ese mismo ejemplo el $numero lo usas en tu bucle FOR como contador ya tienes tu problema resuelto ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 26/05/2003, 23:57
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Cluster la verdad que deberia empezar a pagarte un sueldo mensual, no se que haria sin vos... mil gracias
  #7 (permalink)  
Antiguo 27/05/2003, 00:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
jajaj Safe .. pues si quieres me abro una cuenta en PayPal .. xDD

Un saludo, :P
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:11.