Условные операторы PHP для участников и не членов через Lynda Exercise - PullRequest
0 голосов
/ 06 декабря 2018

Я глубоко запутался в упражнении с Линдой и подумал, может ли кто-нибудь объяснить этот условный ... беспорядок, мешающий моему разуму.Я изучаю 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 изначально ложно (имеется в виду, что посетитель не является участником), не будет "!"переверните значение, означающее, что посетитель является участником, потому что теперь член является истинным?

Если я читаю это совершенно неправильно, пожалуйста, дайте мне знать.

Большое спасибо всем, кто нашел время, чтобы прочитать это и помочь мне!

1 Ответ

0 голосов
/ 06 декабря 2018

Код внутри блока if выполняется, если условие if имеет значение true.Таким образом, когда !$member оценивается как true, когда $member = 0, он показывает текст «неинформационной информации».

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

Вы можете думать об этом как «если не участник, сделайте это»

...