5 trucos con variables en PHP que debes conocer



Las variables son parte esencial de todo programa y aunque pueden parecer sencillas a primera vista, siempre hay nuevos trucos que puedes aprender. En este articulo voy a mostrarte 5 trucos o consejos al trabajar con variables que pueden hacer tu vida más sencilla al programar con PHP.

Truco PHP #1: Acceso a variables de forma dinámica

Imagina que estás realizando un programa muy complejo y no tienes forma de saber la variable que vas a necesitar leer, sino hasta el momento en que el código se ejecute, puedes agregar una serie de sentencias IF, pero usualmente eso hace que el código sea confuso y difícil de leer y modificar.

En estos casos es mejor acceder a la variable de forma dinámica, aquí está el código para hacerlo

//Imagina que tienes dos precios diferentes
$precio1 = "11.25";
$precio2 = "10.00";

//Has leido que para el cliente actual
//vas a usar la lista de precios 2
$listaPrecio = "2";

//Creas una variable con el nombre de la variable que deseas leer
$precio = "precio" . $listaPrecio;

//Ahora puedes acceder el contenido de la variable con solo su nombre
echo $$precio;

Como puedes notar, en la última línea accedes a la variable con dos signos de dólar en lugar de uno solo. Este $$ hace que el contenido de la variable se use para buscar la variable que va a utilizarse.

En el caso anterior la variable $precio contiene el valor “precio2” y al usar $$, entonces se está usando realmente la variable $precio2.

Truco PHP #2: Intercambiar contenido de variables

Ahora, imagina que tienes dos variables y necesitas intercambiar sus valores, por ejemplo $a debe de tener el valor de $b y $b debe de tener el valor de $a.

La solución tradicional para este problema es utilizar una tercera variable, pero hay un truco en php que ofrece una solución más elegante y fácil de leer.

$a = 'Cruz';
$b = "Luis";

list($a,$b) = array($b,$a);

echo "$a $b";

El ejemplo anterior va a imprimir

Luis Cruz

Esto es por que la función list de PHP permite asignar valores a variables individuales mediante un arreglo (array). Entonces no es solamente una buena forma de intercambiar valores entre variables, también es una buena forma de asignarles un valor.

Por ejemplo veamos este otro ejemplo en que estamos asignado los valores de unas coordenadas x y

list($x,$y) = array('1', '200');

En este ejemplo $x tendrá un valor de 1 y $y un valor de 200.

Truco PHP #3: Asignar un valor predeterminado

En muchas ocasiones es necesario asignar un valor predeterminado a una entrada de usuario, generalmente usamos la función isset para saber si la variable ha sido inicializada o no.

Imagina que recibes un parámetro llamado opc por medio de $_GET, quizá usas un código como este, para asignarle un valor predeterminado.

if (! isset($_GET['opc']) || "" == $_GET['opc']  )
 {
    $opcion = 'home';
 }
 else
 {
    $opcion = $_GET['opc'];
 }

Este código funciona, pero utiliza muchas líneas de código, puedes simplificarlo usando el operador ternario de PHP

$opcion = isset($_GET['opc']) &&  "" !== $_GET['opc'] ? $_GET['opc'] : 'home';

Como ves, la segunda opción es más sencilla, una vez que te acostumbra a utilizar el operador ternario. Si tienes dudas sobre como funciona, puedes leer este articulo sobre el operador ternario de PHP.

Truco PHP #4: Mostrar el contenido de variables

Cuando estamos programado alguna aplicación, es necesario imprimir en pantalla el contenido de alguna variable para encontrar posibles errores, ahora imagina que tienes un variable como esta:

$estudiante = array('nombre' => 'Luis Cruz', 
                      'sexo' => 'm', 
                      'cursos' => 
                        array('PHP', 'JS', 'Python'));

No puedes imprimirla usado un echo, pero te mostraré algunas formas de imprimirlo y sus diferencias para que tu decidas cual usar.

print_r($estudiante);

Mostrará una salida como esta

Salida del comando print_r de php, trucos de php
var_dump($estudiante);

El comando anterior mostrará el contenido de la variable, pero con más información y en un mejor formato

Salida de comando var_dump de php, trucos de php

Truco PHP #5: Evitar que una variable se asigne por error

Como todos sabemos en PHP las comparaciones se hacen con un doble o triple sigo igual ( == o ===), sin embargo y por qué usamos también otros lenguajes de programación, en ocasiones podemos confundirnos y crear un código como este:

 $a = 2;
  if ($a = 3)
  {
    // ..... algun codigo
  }

Si lo hacemos, entonces cometemos dos errores, cambiamos el valor de la variable $a y ejecutamos el código que está dentro del IF.

Una forma de evitar estos problemas, al menos si estamos comparando contra una constante, es invertir el orden de los operadores, por ejemplo:

if (3 = $a)
  {
    // ..... algun codigo
  }

De esta forma obtendremos un error al abrir la página web y no un resultado inesperado y difícil de localizar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *