For循环给出Undefined变量

时间:2013-10-16 14:44:14

标签: php for-loop

所以我有五个成员变量,但不是写作:

if(isset($_POST['member1'])) {
    $member1 = mysqli_escape_string($mysqli, $_POST['member1']);
} else {
    $member1= '';
}

对于所有成员(没有错误),我想做一个for循环,但每次我运行循环:

for($i = 1; $i <= 5; $i++) {
    if(isset($_POST['member . $i'])) {
            $member . $i = mysqli_escape_string($mysqli, $_POST['member . $i']);
        } else {
            $member . $i = '';
        }
}

我收到了这个错误:

Notice: Undefined variable: member

五次。我做错了什么?

2 个答案:

答案 0 :(得分:1)

我发现代码中有两个错误:

  • 您正在进行$_POST['member . $i'] - 当单个引号中的变量值不会被插值。你应该使用双引号,或者正确地连接它们
  • 您正在尝试使用$member . $i声明变量 - 它也不起作用。您需要使用${}语法定义它们。例如:${'member'. $i}

试试这个:

for($i = 1; $i <= 5; $i++) {
    if(isset($_POST['member' . $i])) {
        ${'member'. $i} = mysqli_escape_string($mysqli, $_POST['member' . $i]);
    } else {
        ${'member'. $i} = '';
    }
}

答案 1 :(得分:0)

首先,它必须是$_POST['member' . $i]

比你试图使用变量$member与它连接但是它不存在。