Php 对于循环变量,混淆了单引号和双引号

Php 对于循环变量,混淆了单引号和双引号,php,variables,for-loop,Php,Variables,For Loop,我想让下面的代码成为一个for循环,以便更好地阅读所有内容,但我似乎无法获得正确的引号并最终得到一个空白页面 if ($_POST['week']) { $week = $_POST['week']; } //or check for a value submitted by the week menu elseif ($_POST["user_week1"] == "week1") { $week = "1"; } elseif ($_POST["user_week2"] == "we

我想让下面的代码成为一个for循环,以便更好地阅读所有内容,但我似乎无法获得正确的引号并最终得到一个空白页面

if ($_POST['week'])
{
  $week = $_POST['week'];
}
//or check for a value submitted by the week menu
elseif ($_POST["user_week1"] == "week1") {
  $week = "1";
}
elseif ($_POST["user_week2"] == "week2") {
  $week = "2";
}
else if ($_POST["user_week3"] == "week3") {
  $week = "3";
}
else if ($_POST["user_week4"] == "week4") {
  $week = "4";
}
else if ($_POST["user_week5"] == "week5") {
  $week = "5";
}
else if ($_POST["user_week6"] == "week6") {
  $week = "6";
}
else {
  $week = "1";
}
我试着做:

if ($_POST['week'])
{
  $week = $_POST['week'];
}
for ($i = 1; $i<7; $i++)
{
  else if ($_POST["user_week'.$i.'"] == "week'.$i.'") {
    $week = $i;
}
}
else {
  $week = "1";
}
if($_POST['week']))
{
$week=$_POST['week'];
}
对于($i=1;$i)

上面的更正应该有效

你们是否都知道,
否则如果
一定不在那里

你应该做的是以下几点

$week = "1";
if ($_POST['week']) {
  $week = $_POST['week'];
} else {
  for ($i = 1; $i < 7; $i++) {
    if ($_POST["user_week" . $i] == "week" . $i) {
      $week = $i;
      break;
    }
  }
}
$week=“1”;
如果($_POST['周]){
$week=$_POST['week'];
}否则{
对于($i=1;$i<7;$i++){
如果($\u POST[“用户”\u周.$i]==“周.$i”){
$week=$i;
打破
}
}
}

$\u POST[“用户周”。$i]=“周”。$i
“一个好的资源”-正如您所提到的,您希望进行更改以更好地阅读它。从可读性角度来看,我会使用开关而不是循环,如果..您考虑过使用数组吗?
$\u POST[“用户周”]
可以使用
成为一种方法。你们能给出这些方法的例子吗?“纠正应该有效”---事实上不是。他有一个
elseif
没有与任何
if
配对。另外一个
else
for
绑定。奥威尔他对单引号和双引号感到困惑。是的,我的错,我没有复制整个代码,现在一切都好了!感谢所有的帮助!我没有忽视它,我只是太瞎了以至于看不见它;)这是可行的,但是最后需要另一个}来关闭else,这是我在原始代码中出错的。
$week = "1";
if ($_POST['week']) {
  $week = $_POST['week'];
} else {
  for ($i = 1; $i < 7; $i++) {
    if ($_POST["user_week" . $i] == "week" . $i) {
      $week = $i;
      break;
    }
  }
}