【发布时间】:2022-01-25 06:38:32
【问题描述】:
我有以下代码可以让一些提交按钮工作。
if (isset($_POST["this"])) {
if ($_SESSION["sentence"] != "") { $_SESSION["sentence"] .= " " ; }
$_SESSION["sentence"] .= 'This' ;
}
elseif (isset($_POST["my"])) {
if ($_SESSION["sentence"] != "") { $_SESSION["sentence"] .= " " ; }
$_SESSION["sentence"] .= 'my' ;
}
elseif (isset($_POST["sentence"])) {
if ($_SESSION["sentence"] != "") { $_SESSION["sentence"] .= " " ; }
$_SESSION["sentence"] .= 'sentence' ;
}
else {
$_SESSION["sentence"] = null;
}
我试图让那些 if...else 语句在 foreach 中工作,但结果不起作用。
$sentence='This my sentence';
$words=explode(' ', $sentence);
foreach ($words as $key => $word) {
if (isset($_POST[$word])) {
if ($_SESSION["sentence"] != "") { $_SESSION["sentence"] .= " " ; }
$_SESSION["sentence"] .= $word ;
}
}
else {
$_SESSION["sentence"] = null;
}
【问题讨论】:
-
php 中没有
foreach/else这样的东西。 -
为什么需要
else子句?如果没有进入循环,则不会更新$_SESSION["sentence"],它应该隐式保持null -
xy 问题,确实你应该修复它不使用数组键作为单词,只需在添加一个时在表单输入上使用
name="words[]",然后你可以简单地爆破@987654328 @ -
@LawrenceCherone 我倾向于不同意,你最终可能会得到
'sentence this my'或任何打乱的句子,一个简单的内爆 -
@Cid 取决于 dom 的顺序,为什么要洗牌?
标签: php if-statement foreach