Php 分析错误语法错误,意外的T\u ELSE
我似乎不明白为什么我在第17行一直出现这个错误。调用堆栈显示Php 分析错误语法错误,意外的T\u ELSE,php,Php,我似乎不明白为什么我在第17行一直出现这个错误。调用堆栈显示 Location:27,即路由函数和Location:0,即{main}() <?php define("true-access", true); session_start(); ob_start(); function get_option_enabled($option) { if ($option == "store") { return "store/controller.php"; }
Location:27
,即路由函数和Location:0
,即{main}()
<?php
define("true-access", true);
session_start();
ob_start();
function get_option_enabled($option) {
if ($option == "store") {
return "store/controller.php";
} else {
return false;
}
}
function route() {
$option = empty($_GET["option"]) ? "store" : $_GET["option"];
$view = empty($_GET["view"]) ? "list" : $_GET["view"];
//get files to include from database
if ($controller = get_option_enabled($option)) {
include_once('components/' . $controller);
controller_route($view);
} else {
echo "404";
}
}
route();
ob_end_flush();
?>
($controller=get\u option\u enabled($option))他不是在比较,而是在分配。这不会产生解析错误。这里的问题很可能在includeHe正在比较的地方,完整的行在这里:if($controller=get\u option\u enabled($option)){我没有说这是他的问题,只是指出了他的代码的一个问题……这就是为什么它是一个注释,而不是一个答案。@Mark我想你不明白。如果get\u option\u enabled
返回false,他想转到else
块。通常是while($row=$mysqli\u res->fetch\u assoc())
。在这种情况下,我正在分配$row
一个值,如果该值为false-y,我希望循环失败。比较棺材中的最后一颗钉子…$controller
没有分配值,因此它将为NULL
,这意味着如果
将始终失败。对于那些没有获得@Machavity的人,也尝试更改它将get\u option\u enabled
的值返回为false。这很好。否则他为什么要在下一行中包含它呢。