l> Variables y Tipos de Datos en PHP | Guía Interactiva
Fundamentos

Variables y Tipos de Datos en PHP

Objetivos de Aprendizaje
  • Aprender a declarar y usar variables en PHP
  • Entender los diferentes tipos de datos disponibles
  • Comprender la conversión automática y manual de tipos
  • Conocer las variables predefinidas y superglobales
  • Aprender a trabajar con constantes

Variables en PHP

En PHP, las variables se utilizan para almacenar datos que pueden cambiar durante la ejecución del script. Las variables en PHP comienzan con el signo de dólar $ seguido por el nombre de la variable.

Reglas para nombrar variables en PHP:
  • Debe comenzar con el símbolo del dólar $
  • Después del símbolo $, el nombre debe comenzar con una letra o un guion bajo
  • Solo puede contener caracteres alfanuméricos y guiones bajos (A-z, 0-9 y _)
  • Es sensible a mayúsculas y minúsculas ($nombre y $Nombre son variables diferentes)
ejemplo.php

<?php
// Declaración de variables
$nombre = "Juan";
$edad = 25;
$altura = 1.75;
$es_estudiante = true;

// Mostrando variables
echo "Nombre: " . $nombre . "<br>";
echo "Edad: " . $edad . " años<br>";
echo "Altura: " . $altura . " metros<br>";
echo "¿Es estudiante? " . ($es_estudiante ? "Sí" : "No") . "<br>";

// Variables dinámicas (variables variables)
$color = "rojo";
$$color = "Este texto está en rojo";
echo $rojo; // Muestra "Este texto está en rojo"
?>
                            
Tip: En PHP no es necesario declarar el tipo de variable ni declararla antes de usarla. PHP determina automáticamente el tipo según el valor asignado.

Tipos de Datos en PHP

PHP soporta los siguientes tipos de datos:

Tipo Descripción Ejemplo
Integer (Entero) Número sin decimales $edad = 25;
Float (Coma flotante) Número con decimales $precio = 19.99;
String (Cadena) Secuencia de caracteres $nombre = "Juan";
Boolean (Booleano) Valor verdadero o falso $activo = true;
Array (Arreglo) Almacena múltiples valores $colores = ["rojo", "azul"];
Object (Objeto) Instancia de una clase $obj = new MiClase();
NULL Variable sin valor $var = NULL;
Resource Referencia a un recurso externo $archivo = fopen("test.txt", "r");

Ejemplos de tipos de datos:

ejemplo_tipos_datos.php

<?php
// Integer (Entero)
$entero = 42;
echo "Integer: " . $entero . " (Tipo: " . gettype($entero) . ")<br>";

// Float (Número de punto flotante)
$float = 3.14159;
echo "Float: " . $float . " (Tipo: " . gettype($float) . ")<br>";

// String (Cadena de texto)
$cadena = "Hola Mundo";
echo "String: " . $cadena . " (Tipo: " . gettype($cadena) . ")<br>";

// Boolean (Booleano)
$booleano = true;
echo "Boolean: " . ($booleano ? "true" : "false") . " (Tipo: " . gettype($booleano) . ")<br>";

// Array (Arreglo)
$array = [1, 2, 3, 4, 5];
echo "Array: ";
print_r($array);
echo " (Tipo: " . gettype($array) . ")<br>";

// Object (Objeto)
class Persona {
    public $nombre = "Juan";
}
$persona = new Persona();
echo "Object: nombre de la persona = " . $persona->nombre . " (Tipo: " . gettype($persona) . ")<br>";

// NULL
$nulo = NULL;
echo "NULL: " . $nulo . " (Tipo: " . gettype($nulo) . ")<br>";

// Resource (Recurso)
$archivo = fopen("php://temp", "r"); // Abrimos un recurso temporal
echo "Resource: " . gettype($archivo) . "<br>";
fclose($archivo); // Cerramos el recurso
?>
                            

Ámbito de las Variables (Variable Scope)

El ámbito de una variable define dónde está disponible para su uso en un script. PHP tiene tres tipos de ámbitos:

Tipos de ámbitos
  • Local: Variables declaradas dentro de una función
  • Global: Variables declaradas fuera de una función
  • Estático: Variables locales que no pierden su valor entre llamadas a funciones
ejemplo_ambito_variables.php

<?php
// Variable global
$x = "Variable global";

function test1() {
    // Esta es una variable local
    $y = "Variable local";
    echo "Dentro de la función test1:<br>";
    echo "Variable y (local): " . $y . "<br>";
    
    // No podemos acceder a $x directamente
    echo "Intento de acceder a x sin declaración global: " . (isset($x) ? $x : "No accesible") . "<br><br>";
}

function test2() {
    // Declaramos que queremos usar la variable global $x
    global $x;
    echo "Dentro de la función test2:<br>";
    echo "Variable x (global): " . $x . "<br><br>";
    
    // Modificar la variable global
    $x = "Variable global modificada";
}

function test3() {
    // Usar $GLOBALS
    echo "Dentro de la función test3:<br>";
    echo "Variable x usando \$GLOBALS: " . $GLOBALS['x'] . "<br><br>";
}

function contarLlamadas() {
    // Variable estática que mantiene su valor entre llamadas
    static $contador = 0;
    $contador++;
    echo "Esta función ha sido llamada $contador veces<br>";
}

// Llamar a las funciones
test1();
test2();
test3();

echo "Fuera de las funciones:<br>";
echo "Variable x (global): " . $x . "<br><br>";

// Demostrar variable estática
echo "Llamando a contarLlamadas() varias veces:<br>";
contarLlamadas();
contarLlamadas();
contarLlamadas();
?>
                            

Ejercicio Práctico

Calculadora de Edad

Crea un script PHP que realice las siguientes tareas:

  1. Declara variables para almacenar tu nombre y año de nacimiento
  2. Calcula tu edad actual (basada en el año actual)
  3. Crea una constante para la mayoría de edad (18)
  4. Determina si eres mayor de edad e imprime un mensaje apropiado
  5. Muestra cuántos años tendrás en 2030
  6. Utiliza diferentes tipos de datos (string, integer, boolean)

Pistas:

  • Puedes obtener el año actual con date("Y")
  • Para calcular la edad: $anio_actual - $anio_nacimiento
  • Usa una expresión booleana para determinar si la persona es mayor de edad: $edad >= MAYORIA_EDAD