1

我的 PHP 脚本有一个奇怪的问题。我有一个在脚本开头定义的数组 $keys:

$keys = array("name","date","event","location","address","description","link","linkname");

在稍后的某个时候,我正在遍历数组,尝试打印键:

foreach ($keys as $key_show) {
    echo ($key_show);
}

实际上没有打印任何内容。我在循环之前放了一个 var_dump($keys) ,在脚本的这一点上,似乎数组仍然填充了上面的条目。有趣的是,只要我把 var_dump 放在那里,键也出现在 foreach 循环中。

完整的脚本可以在这里看到

4

2 回答 2

5

从你的链接

} elseif (isset($_POST['editconfirm'])) {
    ...
    if ($jsonConcerts) {
        echo "<form method=\"POST\" action=\"edit.php\"";
        //var_dump($keys);
        foreach ($keys as $key_show) {
            echo ($key_show. ": ");
            //echo "<input class=\"wide\" name=\"".$key.
            //"\" value=\"".$jsonConcerts[$counter][$key]."\"><br>\n";
        }
        ...

You don't close the form tag, so all $key_show values are treated as attributes of the form tag and thus never show up in your html output.

If you run this script on the command line, you will see the array values with or without the var_dump().

于 2013-04-07T21:55:36.373 回答
0

此外,为什么你使用 echo "string" 和 echo("string") 都混合使用?

不带括号试试?

foreach ($keys as $key_show) {
    echo $key_show;
}
于 2013-04-07T21:54:44.710 回答