如何在codeigniter(php)中检查变量是否存在?新问题

时间:2011-08-18 06:21:19

标签: php codeigniter view

嘿,我是php和codeigniter的新手。我知道在codeigniter的视图中你可以回显像

这样的变量
<?php echo $var ?>

但是如果说,我没有传递变量$ var,我得到一个讨厌的

<h4>A PHP Error was encountered</h4>

在我的html源代码中。我在模板之前使用过django,如果变量不存在,它们根本就不渲染它。有没有办法在php / codeigniter中说“如果$ var存在,那么其他什么都不做”?

我试过了:

<?php if($title): ?>
    <?php echo $title ?>
<?php endif; ?>

但这是一个错误。谢谢!

4 个答案:

答案 0 :(得分:15)

使用isset()函数测试是否已声明变量。

if (isset($var)) echo $var;

使用empty()函数测试变量是否没有NULL, "", false or 0等内容。

答案 1 :(得分:1)

我创建了一个名为'exists'的新辅助函数(参见:https://www.codeigniter.com/userguide2/general/helpers.html),它检查变量是否设置而不是空:

function exists($string) {
  if (isset($string) && $string) {
    return $string;
  }
  return '';
}

将其包含在控制器中:

$this->load->helper('exists');

然后在视图中我只有:

<?php echo exists($var) ?>

如果你想要你可以将回声直接放在函数中,但不确定这是不是很糟糕?

答案 2 :(得分:0)

您可以使用三元运算符

echo isset($var) ? $var : '';

答案 3 :(得分:0)

我有一个类似的菜鸟问题:

  

如何检查变量是否设置为null,undefined或0。但是允许使用0选项吗?

我降落在这里并重构了一些答案:

if (empty($a) && $a != 0)

通过了我的案子的测试。