你能帮助我让这个PHP爆炸/数组/数字/等块工作吗?

时间:2013-10-15 18:00:10

标签: php for-loop

好的,所以这是我的代码:

if ($_GET['send'] === "yes") {
    $name = $_POST['msg-to'].", ";
    $nameParts = explode(", ", $name);
    $recipients = array();
    for ($x = 0; $x >= 10; $x++) {
        $name_query = mysql_query("SELECT * FROM users WHERE username='".$nameParts[$x]."'");
        while($value = mysql_fetch_array($name_query)){ $name_numrows = mysql_num_rows($name_query); }
        if ($name_numrows = 1) {
            $recipients[$x] = $nameParts[$x];
            $msgError .= '<span class="success">'.$nameParts[$x].' is a valid user.</span><br>';
        } else {
            $msgError .= '<span class="warning">'.$nameParts[$x].' is not a valid user, message did not send.</span><br>';
            break;
        }
    }
}

但是当用户输入要发送给此消息的用户名时,它似乎无法正常工作。它不会回显两个错误消息中的任何一个,也不会返回错误。它没有做任何事情。

任何反馈都绝对精彩:D

1 个答案:

答案 0 :(得分:1)

我试图在上面的评论中提供帮助,但我认为需要更明确的解释,所以我要求发布答案。你的代码:

for ($x = 0; $x >= 10; $x++) {

此代码块声明$x = 0作为语句的第一部分,这是初始化。

第二部分$x >= 10是条件。它指出,当$x 大于或等于 10时,您希望执行循环的迭代。

最后一部分$x++是事后的想法。它指出,在每次成功迭代循环时,您希望增加$x的值。

因为您将$x初始化为0,然后设置必须大于或等于 10 >= 10的条件,否则条件将失败第一次,每一次。 0不能大于或等于10.我想你可能想要的条件是$x 小于或等于10 $x <= 10