asignación de variable

raid

Edit: perdón... se me olvidó decirlo...
El código es PHP

Hola:
Me estoy haciendo la picha un lío con esta tontería de tal forma, que no sé ni ponerle título a este post. :(

Me gustaría poder asignar un valor a una variable, pero que este valor provenga de una fuente por defecto, si esa fuente no proporciona valor, entonces que se asigne de la otra.

Dioos, por qúe me cuesta explicarme tanto?

Si me pasan un valor por url (get), la variable toma ese valor, sinó, que se quede el valor que había en la variable de sesión.

// veo si me han pasado el parámetro por url
$var = $_GET["parametro1"];
// si no había nada en url, recojo el que tengo asignado en la sesión
if (!$dato) 
   $var = $_SESSION["dato"];
else // si ha venido algo en url, actualizo el dato que tengo en la sesión
   $_SESSION["dato"] =$var;

Este proceso lo quiero realizar con unos cuantos parámetros, y me gustaría reducir las líneas de código, no sé... si hubiera algo parecido a ..

$_SESSION["dato"]= $_GET["parametro"] OR $_SESSION["dato"]
$var = $_SESSION["dato"];
RaymaN

$var = $_SESSION["dato"] = isset($_GET["parametro1"]) ? $_GET["parametro1"] : $_SESSION["dato"];

2 respuestas
raid

#2 te amo

gracias.

No había usado isset nunca.
el if inline es ideal... claro claro.

Muchas gracias.

KoRMuZ

#1, como te ha dicho #2 la estructura (condicion ? respuestaAfirmativa : respuestaNegativa) es un "acceso directo" de la función if.

1 respuesta
Tunnecino

También conocido como ternario (o ternary) por si lo ves por ahí.

1 respuesta
raid

#4 #5

Si si, yo le llamo "if inline " :D :santo:

peo vamos, que lo que buscaba era esa combinación de una (no sé si se llama así) doble asignación, el ternario y la función isset.

Genial!!! ya tengo mi script resuelto... que virgueria estoy haciendo :si: :si: :si:

Usuarios habituales

  • raid
  • Tunnecino
  • KoRMuZ
  • RaymaN