使用 php 我在 foreach 中使用 if elseif else 语句时遇到问题

Using php I have trouble with if elseif else statements inside a foreach

很抱歉打扰你,但我是编码方面的初学者,有点卡住了。

我已经在网上搜索并尝试了多种建议(也包括此处发布的一些建议),但总是失败。

简短描述:

我正在 repl.it -> https://php--olvier79.repl.co
里面做一个项目 我有一个 index.php
在那个 index.php 我有一个 foreach 循环。
foreach 循环工作正常并在提交后在页面上打印我想要的输出。

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

当我想使用 if、elseif 和 else 语句清理输出时,问题就开始了;

我尝试了多种建议,但这是我目前坚持的建议:

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

如有任何帮助,我们将不胜感激。

您似乎在条件语句中使用了赋值运算符,而您可能打算检查相等性。

赋值运算符(单个=):$variable = 1。意味着您正在将整数 1 分配给变量 $variable.

一个比较运算符(双倍或三倍 =):$variable === 1。是一个语句,用于评估变量 $variable 是否(真正)等于整数 1,从而产生 truefalse 表达式。

所以在你的代码中:

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`.
}