php - 通过 Lynda 练习为会员和非会员提供 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 标准而隐含地为假。
讲师说,通过键入 $member = 0,我们说访问者没有以会员身份登录。基于此,我假设这意味着访问者是非会员。(如果我在这里错了,请纠正我。)
但是,在确定是否显示“非会员”HTML 部分时,讲师键入:
<?php if (!$member) : ?>
他说这意味着该成员不是成员,因此是非成员。
我的问题:
但这是真的吗?如果 $member 最初为假(意味着访问者是非会员),则不会“!” 反转含义,因此意味着访问者是会员,因为现在会员是真实的?
如果我完全看错了,请告诉我。
非常感谢任何花时间阅读本文并帮助我的人!
解决方案
如果 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 ?>
您可以将其视为“如果不是会员,请执行此操作”
推荐阅读
- python - 为什么在使用 pip 安装 JayDeBeApi 时会抛出 ProxySchemeUnknown 错误?
- python - 如何使用 pandas 从 csv 文件中删除一行?
- shell - 如何删除第一行中特定单词(.com)之后的最后一个单词,并使用 shell script/awk/gawk/sed 命令将数字拆分到下一行
- jquery - 仅限制具有文件类型的特定 AEM DAM 文件夹
- php - Codeigniter 3.1.6 change in app directory folder redirecting/routing
- mysql - 使用 MySQL 查询定期计算具有时间范围的记录
- weblogic - 如何管理 JDK 生命周期?
- javascript - JavaScript - 时间注销,点击重置时间注销
- css - 使用 mixin 作为变量
- git - 在 GitLab 中创建标签时查找源分支(使用 gitlab-ci.yml)