使用 php 我在 foreach 中遇到 if elseif else 语句有问题
Posted
技术标签:
【中文标题】使用 php 我在 foreach 中遇到 if elseif else 语句有问题【英文标题】:Using php I have trouble with if elseif else statements inside a foreach 【发布时间】:2020-04-18 00:02:50 【问题描述】:很抱歉打扰您,但在编码方面我是初学者,我有点卡住了。
我已经在网上搜索并尝试了多个建议(还有一些在此处发布的建议),但总是失败。
简短说明:
我正在 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 />";
任何帮助将不胜感激。
【问题讨论】:
请查看meta.stackexchange.com/questions/22186/…,以便格式化代码。 【参考方案1】:您似乎在条件语句中使用了赋值运算符,而您可能打算检查是否相等。
赋值运算符(单个=
):$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`.
【讨论】:
以上是关于使用 php 我在 foreach 中遇到 if elseif else 语句有问题的主要内容,如果未能解决你的问题,请参考以下文章