我一直试图进入PHP slugs并且我遇到了一个问题 - 我正在尝试设置一种方法,我可以在数组中添加一个新条目,它将为某人创建一个新页面访问。
这是代码:
switch ($page) {
// Adds the links.
foreach ($LINKS as $linkName => $linkAdd) {
case $linkName:
require "templates/views/$linkAdd";
}
// The default switch.
default:
echo '404 Not Found';
break;
}
循环给了我一个错误,说在foreach
内部使用switch
循环是出乎意料的,我想知道是否有办法解决这个问题,或者它是否只是因为不熟悉使用这种方法?
是否只有foreach
循环受此方法影响?或者还有其他类型的循环。
答案 0 :(得分:5)
history
不能以这种方式使用。对于你的代码,不需要那个循环。这可能会简单得多。您有foreach
数组,其中$Links
为关键字,用于包含文件的值。
$page
答案 1 :(得分:0)
切换后不能直接使用foreach循环,它必须在case-Statement(或默认)中。
在这种情况下,使用foreach是错误的方法,请尝试使用array_key_exists():
if (!array_key_exists($page, $LINKS)) {
// Default case
echo '404 Not Found';
exit;
}
require_once __DIR__ . '/templates/views' . $LINKS[$page];
其他一些建议:
__DIR__
)。