PHP数组 - 缺少条目

时间:2015-11-19 17:12:29

标签: php arrays

有谁能告诉我,如果以下代码中有错误,请?

eval ("\$typeselectbit = \"".$cmstpl->get("admin_selectbitdefault")."\";");
$result = $cmsdb->query("SELECT * FROM cms".$n."_type WHERE deleted = '0' ORDER BY typename ASC");
while ($type = $cmsdb->fetch_array($result))
{
    $typeid = $type['typeid'];
    $typename = $type['typename'];

    eval("\$typeselectbit .= \"".$cmstpl->get(ifelse($GPC['typeid'] == $typeid, "typeselectbit2", "typeselectbit"))."\";");
}

它不会从数组输出第一个条目。但也许错误在其他地方。

目前,我不确定,这个问题来自哪里。

你怎么看?它对你来说是否正确?

如果没有,我需要修理什么以及它究竟应该是什么样的?

或者我是否需要查看脚本中的其他位置?

任何具体的提示,可以帮助找到原因?

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

代码eval("\$typeselectbit .= \"".$cmstpl->get(ifelse($GPC['typeid'] == $typeid, "typeselectbit2", "typeselectbit"))."\";");中的最后一行有一个解析错误。 ifelse不是有效的PHP语法(除非这是您之前声明的函数)。它也可能是eval构造内发生的任何其他数量的错误。

According to the manual

  

如果评估代码中存在解析错误,eval()将返回FALSE并继续执行以下代码。使用set_error_handler() {/ 1}}无法在eval()中捕获解析错误。

目前还不清楚你为什么选择使用eval,但其中一个缺点是你通常无法在eval内轻松调试这些错误。如果您在eval之外运行此代码,则会立即看到解析错误。