我有一个有趣的情况。我正在使用一个包含在多个页面上的表单(为了简单起见并减少重复),并且此表单在某些区域中填充了来自数据库的值。但是,并非所有这些值都将始终存在。例如,我可以做一些事情来达到以下效果:
<?php echo set_value('first_name', $first_name); ?>
这在值存在的情况下可以正常工作,但 $user 并不总是设置,因为他们可能是第一次输入他们的名字。是的,您可以isset($first_name) && $first_name
在 if 语句中执行(速记或常规)
我正在尝试编写一个辅助函数来检查变量 isset 是否为空。理想情况下,我想做类似的事情varIsset('first_name')
,其中 first_name 是一个实际的变量名称 $first_name 并且该函数将接收字符串,将其转换为预期的变量 $first_name 并检查它是否已设置且不为空。如果它通过了要求,则返回该变量值(在本例中为“测试”)。如果它没有通过要求,意味着它没有设置或为空,那么该函数将返回'{blank}'。
如果有帮助,我正在使用 CodeIgniter,将在不久的将来切换到 Laravel。任何帮助表示赞赏。到目前为止,这是我汇总的内容,但无济于事。
function varIsset($var = '')
{
foreach (get_defined_vars() as $val) {
if ($val == $var) {
if (isset($val) && $val) {
echo $val;
}
break;
}
}
die;
}
这是一个示例用法:
<?php
if (varIsset('user_id') == 100) {
// do something
}
?>