Variables en PHP

De Manuais Informática - IES San Clemente.
Revisión del 19:23 8 dic 2014 de Veiga (discusión | contribs.) (→‎Ámbito das variables)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Conceptos básicos

En PHP todas as variables comezan co símbolo do dólar $ e non é necesario definir unha variable antes de usala.

Ademais, saber que, o nome da variable é sensible a minúsculas e maiúsculas.

Un nome de variable válido ten que comezar cunha letra ou raia (underscore), seguido de calquera número de letras, números e raias.

Tampouco teñen tipos, é dicir que unha mesma variable pode conter un número e logo pode conter caracteres.

Vexamos un exemplo:

<html> 
<head> 
   <title>Exemplo de PHP</title> 
</head> 
<body> 
<?php 
   $a = 1; 
   $b = 3.34; 
   $c = "Ola Mundo"; 
   echo $a,"<br>",$b,"<br>",$c; 
?> 
</body> 
</html>

Neste exemplo definimos tres variables, $a , $b e $c e coa instrución echo imprimimos o valor que contiñan, inserindo un salto de liña entre elas.

Existen dous tipos de variables, as variables locais que só poden ser usadas dentro de funcións e as variables globais que teñen o seu ámbito de uso fóra das funcións, podemos acceder a unha variable global dende unha función coa instrución global nome_variable;

Variables predefinidas

PHP proporciona unha serie de variables predefinidas contendo información do servidor web, o entorno e as entradas do usuario.

Estas variables predefinidas son globais por defecto.

A lista completa podémola atopar no enlace Variables Predefinidas Reservadas. Algunhas destas variables son as seguintes:

  • $GLOBALS : Contén unha referencia a cada variable existente no script.
  • $_SERVER : é unha matriz que contén información tal como cabeceiras, rutas e ubicacións de scripts. As entradas desta matriz son creadas polo servidor web.
  • $_GET : Unha matriz asociativa de variables pasadas ao script actual a través do método HTTP GET.
  • $_POST : Unha matriz asociativa de variables pasadas ao script actual a través do método HTTP POST.
  • $_FILES : Unha variable tipo array asociativo de elementos cargados ao script actual a través do método POST.
  • $_COOKIE : Unha variable tipo array asociativo de variables pasadas ao script actual a través de Cookies HTTP.

Existencia das variables

Se queremos comprobar se unha variable existe, é dicir, está xa definida ou só ten un valor nulo, para iso temos as seguintes funcións:

  • empty() : Determina se unha variable está valeira.
  • isset() : Determina se unha variable está definida.
  • is_null() : Determina se unha variable ten valores nulos.

URL con información e explicación máis detallada das diferencias entre estas tres funcións: http://www.virendrachandak.com/techtalk/php-isset-vs-empty-vs-is_null/

Obter información sobre o tipo dunha variable

Moitas veces precísase de que tipo son as variables. PHP dispón dun conxunto de funcións que comezan por is_ e devolven verdadeiro se o tipo de variable é o que se indica.

Así temos as seguintes funcións:

  • is_array()
  • is_bool()
  • is_float()
  • is_int()
  • is_object()
  • is_resource()
  • is_scalar()
  • is_string()
  • is_null()
  • is_numeric()

Por último, temos a función gettype(), que devolve directamente o tipo da variable que se lle pasa como argumento. Os tipos posibles son integer, double, string, array, object e unknown (descoñecido).

Modificar as variables

Para asignar un tipo concreto a unha variable PHP ten a función settype().

Así, por exemplo, se queremos que a variable $cantidade sexa do tipo integer debemos escribir: settype($cantidade,"integer").

Moitas veces, unha variable de cadea pode conter letras e números.

PHP dispón de varias funcións que permiten separar os números do texto e asignalos ás variables correspondentes do seu tipo, estas son:

  • floatval() - Obtén o valor flotante dunha variable.
  • intval() - Obtén o valor enteiro dunha variable.
  • strval() - Obtén o valor de cadea dunha variable.

Se vemos que dentro dun script php se consumen innecesariamente moitos recursos por variables definidas que xa non se usan, podemos empregar a función unset(), que elimina unha variable definida previamente.

Por exemplo, se queremos que a variable $nome xa non estea definida podemos escribir unset($nome).

Ámbito das variables

O ámbito das variables en PHP é o contexto onde foi definida dita variable. A maior parte das variables soamente teñen ámbito simple. Este ámbito abarca os arquivos incluídos e requeridos.

Dentro das funcións as variables declaradas terán o ámbito local da función.


Si queremos acceder a unha variable global dentro da función teremos que especificalo claramente empregando global.

ATENCION: En PHP as variables globales por defecto non son accesibles dentro das funcións a non ser que especifiquemos claramente global antes da variable.

Por exemplo: global $nome; // Desde xeito poderíamos acceder á variable global $nome dentro da función.

Máis información sobre ámbito das variables.