Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中的if/or语句中使用“变量”有条件地生成语句?_Php_Variables_If Statement_Parse Error - Fatal编程技术网

如何在PHP中的if/or语句中使用“变量”有条件地生成语句?

如何在PHP中的if/or语句中使用“变量”有条件地生成语句?,php,variables,if-statement,parse-error,Php,Variables,If Statement,Parse Error,我对PHP没有任何经验。我运行一个wordpress站点,并试图对代码进行一个简单的修改。这就是我所拥有的: <?php if(<?php the_author() ?> == "Joe Man") { <?php the_author() ?> } ?> 我相信所有变量都是以$开头的,所以我上面的if语句不是一个变量。我该怎么办?我还尝试创建一个变量,如下所示: <?php $autho

我对PHP没有任何经验。我运行一个wordpress站点,并试图对代码进行一个简单的修改。这就是我所拥有的:

    <?php
    if(<?php the_author() ?> == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>
我相信所有变量都是以$开头的,所以我上面的if语句不是一个变量。我该怎么办?我还尝试创建一个变量,如下所示:

    <?php
    $author = <?php the_author() ?>
    if($author == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>
上述两项都不起作用。所以我的问题是,我怎样才能得到那个if语句来求值呢?我需要的是,如果作者是Joe Man,那么字符串Joe Man将显示在我的页面上

顺便说一句,这是我得到的错误:

分析错误:语法错误,意外“您可能无法嵌套标记。正确的代码是:

<?php
    $author = get_the_author();
    if ($author == "Joe Man") {
        echo $author;
    }
?>
实际上,可以完全跳过该变量,从而将代码缩短为:

<?php
    if (get_the_author() == "Joe Man") {
        the_author();
    }
?>

注意回音以打印作者。

如果作者是Joe Man,则输出作者:

<?php
  $author = the_author();
  if($author == "Joe Man") {
    echo $author;
  }
?>

看起来您使用的是wordpress,因此除了PHP in PHP错误之外,您的代码无论如何都无法工作,因为两个作者调用都只是输出数据,而不是返回数据进行比较。你会想要:

$author = get_the_author();
if ($author == "Joe Man") {
   echo $author;
}

相反。作为一般规则,Wordpress中任何输出的函数都有一个get_u3;。。。返回而不是输出的变量。

PHP中的PHP。。。新的开始!lol不知道我走了那么远,你肯定是想在上面的例子中呼应$author而不是_author。如果不这样做的话,它会使变量赋值变得毫无意义。因此我声明可以完全跳过变量。虽然你是对的。我会修好的,我现在明白了。但奇怪的事情正在发生。只要有一点代码:作者;无论在哪里,都会在我的页面上显示名称。对于缩短版本,如果作者是Joe Man,Joe Man将出现三次:一次用于echo命令,两次用于代码中作者的两个实例。这意味着函数作者不返回作者名称,而是打印它。在这种情况下,你会想打电话给get_作者,由其返回。爱你们。应该有一个程序员欣赏日,说真的。工作得很有魅力!你所说的是可行的,但出于某种原因,运行以下代码:作者;无论在何处,都会使名称显示在页面上。有没有办法抑制这种情况?