Validar campos dinámicos

100 views
Skip to first unread message

Reynaldo G. R.

unread,
Sep 17, 2012, 7:19:25 AM9/17/12
to php...@googlegroups.com
Hola a todos,

tengo un lio con un while que me devuelve el valor de uno o varios campos que se crean de forma dinamica, pero no consigo atrapar a variable que guarda la informacion, si alguien tiene alguna idea, aqui les dejo el ejemplo:

while(list(, $value) = @each($_POST['text']))
   {   
      echo $value;
   }


de esta forma el while me devuelve el valor o todos los valores que se obtuvieron de el campo o los campos que se enviaron, o no de3vuelve nada si no se envio nada, pero como saco la variable $value dentro del while con toda la informacion, pues al hacer algo como esto que le sigue no funciona:

while(list(, $value) = @each($_POST['text']))
   {   
      $valor = $value;
   }
echo $valor;


aqui solo me arroja el ultimo valor que saca el while. Alguna idea?



Adrian Ramiro

unread,
Sep 17, 2012, 7:42:06 AM9/17/12
to php...@googlegroups.com
Reemplazá $valor = $value por $valor[] = $value y vas tener un array con los valores, pero yo te recomendaría que pruebes otras opciones como array_values, y te evitas el while por completo, podés ver cómo funciona acá:  http://www.php.net/manual/es/function.array-values.php y una lista de funciones para trabajar con arrays acá:  http://www.php.net/manual/es/ref.array.php 

2012/9/17 Reynaldo G. R. <reynal...@gmail.com>




--
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/php-arg/-/UQreoZMwIc4J.
Para publicar una entrada en este grupo, envía un correo electrónico a php...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a php-arg+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/php-arg?hl=es.



--
/**
* @author: Adrian R. Gay Cattaneo
*/

Reynaldo G. R.

unread,
Sep 17, 2012, 8:15:09 AM9/17/12
to php...@googlegroups.com
me dices así:

while(list(, $value) = @each($_POST['text']))
{
$valor[] = $value;
}

echo $valor;

pero como saco el valor porque asi no funciona; lo que devuelve es "Array".

El 17/09/12, Adrian Ramiro <adri...@gmail.com> escribió:
> Reemplazá $valor = $value por $valor[] = $value y vas tener un array con
> los valores, pero yo te recomendaría que pruebes otras opciones como
> array_values, y te evitas el while por completo, podés ver cómo funciona
> acá: http://www.php.net/manual/es/function.array-values.php y una lista de
> funciones para trabajar con arrays acá:
> http://www.php.net/manual/es/ref.array.php
>
> 2012/9/17 Reynaldo G. R. <reynal...@gmail.com>
>
>> Hola a todos,
>>
>> tengo un lio con un while que me devuelve el valor de uno o varios campos
>> que se crean de forma dinamica, pero no consigo atrapar a variable que
>> guarda la informacion, si alguien tiene alguna idea, aqui les dejo el
>> ejemplo:
>>
>> *while(list(, $value) = @each($_POST['text']))
>> {
>> echo $value;
>> }*
>>
>> de esta forma el while me devuelve el valor o todos los valores que se
>> obtuvieron de el campo o los campos que se enviaron, o no de3vuelve nada
>> si
>> no se envio nada, pero como saco la variable $value dentro del while con
>> toda la informacion, pues al hacer algo como esto que le sigue no
>> funciona:
>>
>> *while(list(, $value) = @each($_POST['text']))
>> {
>> $valor = $value;
>> }
>> echo $valor;*
Reynaldo G. R.

Adrian Ramiro

unread,
Sep 17, 2012, 8:21:29 AM9/17/12
to php...@googlegroups.com
Te devuelve una variable tipo Array con todos los valores. Lee el enlace que te paso para una explicación detallada:  http://www.php.net/manual/es/language.types.array.php 

Reynaldo G. R.

unread,
Sep 17, 2012, 9:10:55 AM9/17/12
to php...@googlegroups.com
bueno si eso lo entiendo, ya en esa variable esta el Array, pero lo
que quiero es pasar esos valores que contiene el Array a una sola
variable, o sea concatenarlo, quisas separarlo por una coma..., pero
que yo pueda utilizar esos valores sin necesidad de ir al Array
especificamente a escojer un valor, sino todo, alguna idea.?
Que funcion puedo utilizar para volocar el contenido del Array en una
sola variable?

Adrian Ramiro

unread,
Sep 17, 2012, 9:12:43 AM9/17/12
to php...@googlegroups.com
Eso lo hacés con implode()

echo implode(', ', $valor);

Adrian Ramiro

unread,
Sep 17, 2012, 9:13:46 AM9/17/12
to php...@googlegroups.com
También dentro de tu while podrías haber hecho:

$valor .= $value;

y al salir del bucle

echo $valor



2012/9/17 Adrian Ramiro <adri...@gmail.com>

Reynaldo G. R.

unread,
Sep 17, 2012, 9:25:59 AM9/17/12
to php...@googlegroups.com
Bueno muchas gracias Adrian, creo que asi me funciona lo que buscaba.

while(list(, $value) = @each($_POST['text']))
{
$valor .= $value.", ";
}

echo $valor;

de esta forma me salen los valores concatenados y separados por una coma.

DEH

unread,
Sep 17, 2012, 9:58:18 PM9/17/12
to php...@googlegroups.com
@each es una función un poco "mierdosa",

podrías hacer lo mismo con
$value = implode(', ', $_POST['text'] );
Reply all
Reply to author
Forward
0 new messages