【问题标题】:How to check for variable existence in codeigniter(php)? newb question如何检查 codeigniter(php) 中的变量是否存在?新手问题
【发布时间】:2011-10-29 12:19:08
【问题描述】:

嘿,我是 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; ?>

但这是一个错误。谢谢!

【问题讨论】:

    标签: php codeigniter view


    【解决方案1】:

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

    如何检查变量是否设置为 null、未定义或 0。但允许 0 选项?

    我来到这里并将一些答案重构为:

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

    我的案例通过了测试。

    【讨论】:

      【解决方案2】:

      我创建了一个名为“exists”的新辅助函数(参见:https://www.codeigniter.com/userguide2/general/helpers.html),用于检查变量是否为 isset 且不为空:

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

      将其包含在控制器中:

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

      然后在我刚刚的视图中:

      <?php echo exists($var) ?>
      

      如果您愿意,可以将 echo 直接放入函数中,但不确定这是否是不好的做法?

      【讨论】:

        【解决方案3】:

        你可以使用三元运算符

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

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

          • 啊,我看到非常漂亮和简单...顺便说一句,在处理 codeigniter 的视图 标签时,你能把任何你通常可以在任何 php 文件中的 php 代码放在那里吗?跨度>
          • &lt;?php if (isset($var)) echo $var; ?&gt;
          猜你喜欢
          • 2017-08-05
          • 1970-01-01
          • 2010-10-25
          • 1970-01-01
          • 2012-10-03
          • 2014-01-30
          • 2012-07-05
          • 2011-08-18
          相关资源
          最近更新 更多