通过Lynda Exercise为成员和非成员提供的PHP条件语句

时间:2018-12-06 18:22:19

标签: php if-statement conditional

我对Lynda的练习深感困惑,想知道是否有人可以解释这种有条件的...困扰我的思想。我正在学习PHP,尽管我以前曾使用过条件语句,但这种练习使我感到困惑。

背景信息:

练习是根据访问者是成员还是非成员来显示不同的HTML部分。这是一个基本的挑战,没有创建任何登录页面,并且所有内容都进行了硬编码。

我的代码:

这是我正在努力的一部分练习的精简版:

<?php $member = 0 ?>
<!DOCTYPE html>
<html lang="en">
<body>
  <div id="wrapper">

    <?php if (!member) : ?> //CONFUSING PART
    <section class = "non-member">
        <p>This is non-member information</p>
    </section>
    <?php endif ?>

  </div>
</body>
</html>

我的问题:

我不知所措的是,我们将一个名为$ member的变量设置为0,我理解这意味着该变量由于PHP标准而隐式为false。

讲师说,通过键入$ member = 0,我们说的是访问者未以成员身份登录。基于此,我假设这表示访客是非会员。 (如果我在这里错了,请纠正我。)

但是,当确定是否显示“非成员” HTML部分时,讲师键入:

<?php if (!$member) : ?>

他说,这意味着该成员不是成员,因此是非成员。

我的问题:

但这是真的吗?如果$ member最初为假(表示访问者不是成员),则不会“!”颠倒了含义,因此意味着访问者是成员,因为现在成员为true?

如果我完全理解错误,请告诉我。

非常感谢抽出宝贵时间阅读本文并帮助我的人!

1 个答案:

答案 0 :(得分:1)

如果if条件的值为true,则执行if块内的代码。因此,当!$member的值为$member = 0时,它显示为“非成员信息”文本。

<?php if (!$member) : ?> //CONFUSING PART
<section class = "non-member">
    <p>This is non-member information</p>
</section>
<?php endif ?>

您可以将其视为“如果不是成员,请这样做”