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



我对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最初是false(意味着访问者是非成员(,那么"!"是否会颠倒其含义,从而意味着访问者就是成员,因为现在的成员是true?

如果我读错了,请告诉我。

非常感谢任何花时间阅读并帮助我的人!

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

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

你可以把它想象成"如果不是会员,就这样做">

最新更新