我对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?
如果我完全理解错误,请告诉我。
非常感谢抽出宝贵时间阅读本文并帮助我的人!
答案 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 ?>
您可以将其视为“如果不是成员,请这样做”