De todos los lenguajes de programación con los que he trabajado creo que PHP es el más flexible y poderoso. Hoy descubrí un excelente truco que permite crear y evaluar nombres de variables a partir de strings en una misma línea.

Para lograr este cometido se deben utilizar llaves {}. Como ejemplo, voy a utilizar el caso supuesto en el que necesitamos acceder a un campo de un formulario (por ejemplo "id") y no sabemos si el formulario  vino por POST o GET. Lo primero que se me viene a la mente es consultar ambos arreglos $_POST y $_GET para determinar en cual existe "id":

<?php

if (isset($_POST['id'])) {

    $id = $_POST['id'];

    // Hacer algo con la variable $id

}
else if (isset($_GET['id'])) {

    $id = $_GET['id'];

    // Hacer algo con la variable $id

}

?>

Una solución más económica (en cuanto a líneas de código) es crear el nombre de la variable utilizando el campo 'REQUEST_METHOD' (que indica si el formulario vino por POST o GET) del arreglo $_SERVER utilizando llaves:

$id = ${ '_' . $_SERVER['REQUEST_METHOD']}['id'];

El resultado será:

$id = $_POST['id'];

Si el formulario vino por POST o:

$id = $_GET['id'];

Si el formulario vino por GET.


Tal vez pueda interesarte


Compartí este artículo