【问题标题】:Function in an if statementif 语句中的函数
【发布时间】:2014-01-30 14:56:24
【问题描述】:

如果函数返回 true,我正在尝试执行 if 语句,如果不返回则执行 else

基本上我需要在返回 1 中显示一个 html 类。我在下面尝试过,但出现错误。 syntax error, unexpected 'if' (T_IF) 这是我尝试过的

    <div class="inner">
        <div class="stat" 
        <?php $access->getAccess() 
        if (getAccess == 1) {
        class="unpublished"
        }
        else {

    }
    ?>
    >
</div>
</div>

这就是函数的样子

 public function getAccess()
    {
        return $this->access;
    }

我怎样才能做到这一点?

【问题讨论】:

  • 您的语法有几个问题。请检查您对括号、分号和 $ 的使用。另外,您的逻辑没有多大意义。您可能想重新考虑为什么要在这里尝试并从头开始重写。

标签: php kohana-3


【解决方案1】:

尝试:

<div class="stat <?php echo $idea->getAccess() ? 'unpublished' : ''; ?>"></div>

【讨论】:

  • 你忘记了echo ;)
  • @SarahJames 什么原因?
  • 如果您查看正确答案,您将错过== 1,因为这是我在我的问题中的失败 if 语句中试图做的事情。该函数如果为真则返回 1,如果为假则返回 0。
【解决方案2】:

您的 PHP 代码没有回显任何内容,而且您缺少分号。

试着简化一下:

<div class="stat <?=$idea->getAccess() == 1 ? 'unpublished' : ''?>">

附:您需要将所有类放入同一个属性中。

【讨论】:

  • 感谢 Rocket 这很好用。很多其他答案都丢失了== 1,而这个答案恰到好处
  • @SarahJames:你的意思是如果你去test.com#3546,页面会滚动到这个&lt;div&gt;
【解决方案3】:

要调用一个函数,你需要使用括号:

$access = getAccess();//Not getAccess

我注意到您也调用了另一个 getAccess 函数,因此您可能打算这样做:

$access = $idea->getAccess() ;
if ($access == 1) {

编辑:其他人指出您还缺少;

【讨论】:

  • 迄今为止找到他所有问题的最佳尝试。不过,他的代码中仍然有很多。
【解决方案4】:

您需要在概念上将 PHP 与 HTML 分开。正在发生的事情是您的 PHP 正在由您的 Web 服务器解释,从而生成一个将交付给客户端的 HTML 文档。如果 $idea 可以访问,您想要向 div 添加一个类,如下所示:

<div class="inner">
    <div class="stat <?php echo $idea->getAccess() ? "unpublished" : ""?>">
    </div>
</div>

这相当于更复杂(在我看来更难阅读):

<div class="inner">
    <div class="stat <?php 
       if ($idea->getAccess()) {
         echo "unpublished";
       }
      ?>">
    </div>
</div>

【讨论】:

  • 您遇到什么错误?检查您正在使用的对象(在我的答案中是 $idea)是否是具有方法“getAccess()”的类的实例,您可以使用简单的“echo get_class($idea)查看对象的类);"
  • 记住 class="unpublished" 是 HTML 而不是 php。 unpublished 是一个 CSS。
  • 你不能在一个元素上有两个类属性(你可以有更多的类,但只有一个属性),你已经在 html 上写了一个类,“未发布”将简单地添加到你的如果条件为真,则分类,假设这是您想要的。
【解决方案5】:

你忘了分号:

getAccess();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2019-02-27
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多