PROGRAMACIÓN EN PHP/VARIABLES
Introducción
En PHP las variables se representan con un signo de dólar seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas.Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable válido tiene que empezar con una letra o un carácter de subrayado, seguido de cualquier número de letras, números y caracteres de subrayado.
Las variables en PHP se asignan, como en muchos otros lenguajes, con el símbolo igual (=).
Nota: $this es una variable especial que no puede ser asignada.
Un ejemplo:
<?php
$var = 12;
$Var = 'Andrés';
echo "$var $Var"; // Imprime: 12 Andrés
Inicialización y asignación de variables
PHP es un lenguaje no tipado. Esto significa que las variables no necesitan ser inicializadas y su tipo de dato no solo no precisa ser indicado, sino que éste puede cambiar. PHP simplemente sabe el tipo de dato que se utiliza en cada momento dependiendo del contexto en que se utilice.Por ejemplo:
<?php
$var1 = 12; // $var1 es un integer
$var2 = 12.3; // $var2 es un float
$var2 = 'hola'; // $var2 es ahora un string
$var2 = '13' + 1;// $var2 es ahora un integer
echo $var2; // Imprime: 14
Variables por valor y variables por referencia
Por defecto, en PHP las variables se asignan por valor. Esto significa que al asignar una expresión a una variable, el valor de la expresión es copiado a la variable.Por ejemplo:
<?php
$var1 = 'hola';
$var2 = $var1; // Asigna por valor (por defecto)
$var2 = 'adiós'; // Modifica $var2
echo $var1 . " y " . $var2; // Imprime: hola y adiós
Para asignar por referencia, simplemente se antepone un signo ampersand (&) al comienzo de la variable cuyo valor se está asignando. Sólo las variables con nombre pueden ser asignadas por referencia.
Por ejemplo:
<?php
$var1 = 'hola';
$var2 = &$var1; // Asigna por referencia
$var2 = 'adiós'; // Modifica $var1
echo $var1 . " y " . $var2; // Imprime: adiós y adiós
Variables predefinidas
PHP proporciona una gran cantidad de variables predefinidas a cualquier script que se ejecute. Algunas de ellas son:- $GLOBALS — Hace referencia a todas las variables disponibles en el ámbito global
- $_SERVER — Información del entorno del servidor y de ejecución
- $_GET — Variables HTTP GET
- $_POST — Variables HTTP POST
- $_FILES — Variables de Carga de Archivos HTTP
- $_REQUEST — Variables HTTP Request
- $_SESSION — Variables de sesión
- $_ENV — Variables de entorno
- $_COOKIE — Cookies HTTP
Ámbito de las variables
El ámbito de una variable es el contexto dentro del cual está definida. La mayor parte de las variables sólo tienen un ámbito simple, que también abarca los ficheros incluidos y requeridos. Por ejemplo:<?php
$var1 = 15;
include 'file.php';
En el caso de las funciones, al contrario que el lenguaje C, las variables definidas en un ámbito global no pueden ser accedidas dentro de un ámbito local (la función):
<?php
$var1 = 15; // Ámbito global
function prueba()
{
echo $var1;
}
prueba(); // No produce salida
Variables globales accesibles
Para que una variable global sea accesible desde un ámbito local, como una función, se debe utilizar la palabra clave global:<?php
$var1 = 15;
function prueba()
{
echo (global $var1);
}
prueba(); // Imprime 15
<?php
$var1 = 15;
function prueba()
{
echo $_GLOBALS['var1'];
}
prueba(); // Imprime 15
Variables estáticas
Una variable estática existe sólo en el ámbito local definido, pero no pierde su valor cuando la ejecución del programa abandona este ámbito.Por ejemplo, el siguiente script:
<?php
function prueba()
{
$var1 = 0;
echo $var1;
$var1++;
}
<?php
function prueba()
{
static $var1 = 0; // Variable estática
echo $var1;
$var1++;
}
Las variables estáticas no se pueden redeclarar en la misma función (no se podría declarar otra vez static $var1).
Variables variables
Una variable variable es simplemente una variable cuyo nombre es el valor de otra variable. Por ejemplo:<?php
$var1 = 'var2';
$$var1 = 1; // Se crea la variable $var2 = 1
echo $var2; // Imprime: 1
<?php
$var1 = 'var2';
${$var1} = 1; // Se crea la variable $var2 = 1
echo $var2; // Imprime: 1
No hay comentarios.:
Publicar un comentario