válida variable una tipo siguientes predefinidas manejo las igualar define declarar cómo cuál constantes asignacion php var isset

variable - ¿Cuál es la abreviatura de PHP para: print var si var existe



manejo de variables en php (10)

Actualmente no hay nada en PHP que pueda hacer esto, y tampoco se puede escribir una función en PHP para hacerlo. Podría hacer lo siguiente para lograr su objetivo, pero también tiene el efecto secundario de definir la variable si no existe:

function printvar(&$variable) { if (isset($variable)) { echo $variable; } }

Esto te permitirá hacer printvar($foo) o printvar($array[''foo''][''bar'']) . Sin embargo, la mejor manera de hacerlo IMO es usar isset cada vez. Sé que es molesto, pero no hay ninguna buena manera de evitarlo. No se recomienda usar @

Para obtener más información, consulte https://wiki.php.net/rfc/ifsetor .

Todos lo hemos encontrado antes, necesitamos imprimir una variable en un campo de entrada pero no sabemos con certeza si la var está configurada, así. Básicamente esto es para evitar un e_warning.

<input value=''<?php if(isset($var)){print($var);}; ?>''>

¿Cómo puedo escribir esto más corto? Estoy bien introduciendo una nueva función como esta:

<input value=''<?php printvar(''myvar''); ?>''>

Pero no logro escribir la función printvar ().


Esto funcionó para mí:

<?= isset($my_variable) ? $my_variable : $my_variable="Some Value"; ?>


La respuesta más corta que puedo encontrar es <?php isset($var) AND print($var); ?> <?php isset($var) AND print($var); ?>

Más detalles están aquí en el manual de php .

Una alternativa simple a una declaración if, que es casi como un operador ternario, es el uso de AND. Considera lo siguiente:

''; // Esta es una opción alternativa (valor $) Y print (valor $); ?>

Esto no funciona con echo () por alguna razón. ¡Encuentro esto extremadamente útil!


Mejor uso de un motor de plantillas adecuado - https://.com/q/3694801/298479 menciona dos bonitas.

Esta es su función de todos modos: solo funcionará si la var existe en el ámbito global:

function printvar($name) { if(isset($GLOBALS[$name])) echo $GLOBALS[$name]; }


Mi recomendación sería crear una función de issetor :

function issetor(&$var, $default = false) { return isset($var) ? $var : $default; }

Esto toma una variable como argumento y la devuelve, si existe, o un valor predeterminado, si no existe. Ahora puedes hacer:

echo issetor($myVar);

Pero también utilízalo en otros casos:

$user = issetor($_GET[''user''], ''guest'');

A partir de PHP 7 puede utilizar el operador de fusión nula :

$user = $_GET[''user''] ?? ''guest'';

O en su uso:

<?= $myVar ?? '''' ?>


Otra opción:

<input value="<?php echo isset($var) ? $var : '''' ?>">


Usted podría hacer <?php echo @$var; ?>. <?php echo @$var; ?>. O <?= @$var ?> .


$var; (isset($var)) ? (print $var) : ''''; $var = ''hello var''; (isset($var)) ? (print $var) : '''';


<input value=''<?php @print($var); ?>''>


<input value=''<?php printvar(&$myvar); ?>'' /> function printvar(&$val) { if (isset($val)) echo $val; }