Использование php У меня есть проблемы с if if else операторы внутри foreach - PullRequest
0 голосов
/ 18 апреля 2020

Извините, что беспокою вас, но я новичок, когда дело доходит до кодирования, и я немного застрял.

Я искал в Интернете и пробовал несколько предложений (также некоторые из них размещены здесь ) но он продолжает отказывать.

Краткое описание:

Я работаю над проектом внутри repl.it -> https://php--olvier79.repl.co
У меня есть индекс . php
Внутри этого индекса. php У меня есть foreach l oop.
Foreach l oop отлично работает и печатает нужный вывод на странице после отправки.

foreach ($_POST as $name => $value)
{
  print "{$name}: {$value}<br />";
}

Проблемы начинаются, когда я хочу очистить вывод с помощью операторов if, elseif и else;

I Я попробовал несколько предложений, но это то, с чем я сейчас застрял:

foreach ($_POST as $name => $value)
  if ($value = "Submit")
  {
    print " Data received Processing";
  }
    elseif ($value = "")
    {
      print "";
    }
      else
      {
        print "{$name}: {$value}<br />";
      }

Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 18 апреля 2020

Похоже, что вы используете операторы присваивания в условных выражениях, в то время как вы, вероятно, намереваетесь проверить на равенство.

Оператор присваивания (один =): $variable = 1. Означает, что вы присваиваете целое число 1 переменной $variable.

Оператор сравнения (двойной или тройной =): $variable === 1. Это оператор, который оценивает, является ли переменная $variable (действительно) равной целому числу 1, что приводит к выражению true или false.

Итак, в вашем коде:

if ($value = "Submit") {
   // $value now holds the string "Submit", which is 'truthy', and evaluates to 'true'. This code block will always be executed.
}

Хотя вы, вероятно, намереваетесь:

if ($value === 'Submit') {
   // Execute this code block if $value is truly equal to the string `Submit`.
}
...