0

我早些时候发布了这个问题,但这里是完整版。我不断收到语法错误,当我删除以下代码时该错误已解决。所以这里肯定有问题,我就是看不出是什么。

语法错误为:“在当前安装的任何参考资料中均未找到该主题(无)”。

 <?php

$ds = 'Pear';
$sd = 'Orange';
$dt = 'Banana';
$td = 'KiwiFruit';


$FoodArray=array();

echo "<p>";

foreach ($_POST ["Gender"] as $value) {
    if ($value == Female) {
    $FoodArray=array($ds, $sd, $dt, $td);
    echo "<ul>";
foreach ($FoodArray as $key => $value)

{
    echo "<li>" . $value . "</li>";
}
    echo "</ul>";
}



?>

这是阻止我完成项目的唯一原因,所以我会感谢任何可以提供帮助的人。我也会尝试回答你的一些问题。

4

5 回答 5

2

你说

语法错误为:“在当前安装的任何参考资料中均未找到该主题(无)”。

这不是 PHP 语法错误。谷歌搜索这条消息让我想知道这是否与 Flash/Adobe/Cold Fusion/CFML 有关。

不过我对CFML一无所知。但是由于大多数标记语言都扩展了 SGML 并且往往看起来像 XML,我建议您关闭所有打开的标记。

你开始一个<p>但从不关闭它</p>。所以尝试echo "</p>";在最后添加。

于 2013-09-10T13:33:38.823 回答
1

我的第一个想法:尝试删除 $_POST 和 ['Gender'] 之间的空格。通常我看到引用的关联数组没有空格,例如:$_POST['Gender']。

第二:就行 if ($value == Female) {,Female 指的是什么?也许这应该是一个字符串,“女性”?

第三:我不知道您使用什么 IDE 来调试您的 PHP,但是如果您在服务器上运行该脚本,错误日志将包含更有用的错误消息(至少)给您行号它发现的错误。

于 2013-09-10T13:26:15.337 回答
1

以下代码:

if($value == Female)

会产生通知,而不是错误。但是,我从经验中知道,如果有人继承了依赖于 PHP裸字符串被解释为字符串的代码,那么他们会在余生中讨厌编写它的人。

PHP 注意:使用未定义的常量女性 - 在文件中假定为“女性”#

你的错误是你最后缺少一个花括号。不确定这是否只是您在此处发布的代码,或者这确实是您的代码格式,但使用正确的缩进做法将帮助您避免这些类型的问题,并帮助其他人为您抽查您的代码。

于 2013-09-10T13:26:53.653 回答
0

它可能是:

    if ($value == Female) {

应该是这样吗?

    if ($value == "Female") {

另外, $_POST ["Gender"] 是一个数组还是一个值?

于 2013-09-10T13:25:55.900 回答
0

你能告诉我你的 $_POST["Gender"] 吗?

而且你的代码有任何错误......

"女" $_POST["性别"] 在哪里

?

尝试这个:

$ds = 'Pear';
$sd = 'Orange';
$dt = 'Banana';
$td = 'KiwiFruit';


$FoodArray=array();

echo "<p>";

foreach ($_POST["Gender"] as $value) {
    if ($value == "Female") {
        $FoodArray=array($ds, $sd, $dt, $td);
        echo "<ul>";

        foreach ($FoodArray as $key => $value) {
            echo "<li>" . $value . "</li>";
        }

        echo "</ul>";
    }
}

echo "</p>";
于 2013-09-10T13:31:07.513 回答