Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Variables variables PHP


Ofrecemos el significado y uso de variables variables en el lenguaje de programación PHP.


03/3/04 - Escribo esta ayuda técnica sobre "variables variables" porque me parece un tema de no muy fácil comprensión pero de gran ayuda en cuanto a desarrollo con PHP, espero que a todos pueda ayudarnos a comprender un poco mejor si utilizo algún ejemplo práctico que en algunos momentos me ha ayudado a resolver ciertos problemas.

La explicación más sencilla y fácil de comprender se me ocurre sea la traducción al castellano de php.net, así que la pondré tal cual y después aplicaré la práctica procurando expresarme mas claramente.

############# Aquí comienza la explicación del sitio #######

A veces es conveniente tener nombres de variables variables. Dicho de otro modo, son nombres de variables que se pueden establecer y usar dinámicamente. Una variable normal se establece con una sentencia como:

<?php
$a = "hello";
?>


Una variable variable toma el valor de una variable y lo trata como el nombre de una variable. En el ejemplo anterior, hello, se puede usar como el nombre de una variable utilizando dos signos de dolar. p.ej.

<?php
$$a = "world";
?>


En este momento se han definido y almacenado dos variables en el árbol de símbolos de PHP: $a, que contiene "hello", y $hello, que contiene "world". Es más, esta sentencia:

<?php
echo "$a ${$a}";
?>


produce el mismo resultado que:

<?php
echo "$a $hello";
?>


Ambas producen el resultado: hello world.

############ Y aquí termina la explicación #############

El URL es http://mx.php.net/manual/es/language.variables.variable.php

Según creo, si hemos tenido algún contacto con la programación, habremos comprendido bastante bien la explicación, pero ¿ y como nos puede llegar a servir? ¿ en que ocasiones me puede ayudar?. Pues en particular lo he contemplado en situaciones donde en un archivo tengo que poner varios checkbox o radio buttons y en el siguiente tengo que examinar una a una esas variables; y como no deseo realizarlo de esta forma, los termino metiendo en un for, pero si he metido los nombres de los checkbox de la siguiente manera...

<form name='form1' method='post' action='guarda_preferencias.php'>
<table width='700' border='0'>
<tr>
<td><span class='style4'>Para Empezar </span></td>
</tr>
<tr>
<td><blockquote class='style5'><strong>
<input type='checkbox' name='pref_1' value='bienvenida'>
     Bienvenida</strong></blockquote></td> </tr>
<tr>
<td><blockquote class='style5'><strong>
<input type='checkbox' name='pref_2' value='temario'>
     Temario </strong></blockquote></td>
</tr>


y así sucesivamente hasta pref_n; en mi archivo guarda_preferencias.php, después del for que empezaría la revisión de la transferencia de cada checkbox, existiría el ligero inconveniente de tener que revisar $pref_$i, lo cual es un tremendo problema porque $pref_ no existe. Lo anterior yo lo he resuelto de la siguiente manera: hago uso de variables variables que me permitirán obtener el valor que realmente quiero, que es pref_1, pref_2....pref_n .

<?
for ($i=1;$i<=n;$i++){ //n es por supuesto el total de elementos checkbox
que hayamos creado
$nombre = "pref_$i";
$prefer = $$nombre;
if ($prefer != "") print "$nombre si trae algo, que es $prefer";
?>


Con lo cual $nombre hago que sea pref_ más el valor de $i, que irá aumentado de uno en uno cada vez que entre al for, y despues $prefer me dará el valor real de pref_1, pref_2, pref_3 y así hasta n, pudiendo yo evaluar cada checkbox uno a uno sin problemas, en este caso yo solo estoy evaluando que no esté vacío e imprimo el nombre y el valor.

Espero que haya quedado un poquito mas claro para todos, saludos!!

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 2 categorias relacionadas
+ 1 comentario (Añadir)
+ 5 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Roberto Bárcenas*
URL: http://www.chicosyescritores.org

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en PHP
+ Entrar en Manuales de PHP


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestra un comentario revisado

 Comentario de Roberto Bárcenas
16/3/05 
Bien, por supuesto existen varias alternativas al caso, de hecho, haciendo uso de variables autoglobales como $_POST o $_GET no es necesario recurrir a las variables variables muchas de las veces $_POST["pref_$i"] y nada mas.

La solución de guardar los checkbox en un arreglo y después pasarlo por un foreach tambien es interesante.
Por otra parte, yo he probado el código en navegadores diferentes sobre plataformas diferentes y no existe problema.
Saludos a todos!

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 5 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de PHP
Categorías
+Scripts en PHP
+Manuales de PHP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia