我对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 ?>
你可以把它想象成"如果不是会员,就这样做">