Jef*_*eff 1 php switch-statement
我每次在index.php上回应这个错误时都会出错
下面是我的开关代码,因为我使用的是php动态网站,因此每次调用不同的php时我都会使用switch来更改数据.
<?php
function title_switch()
{
$var = (isset($_GET['page']) && !empty($_GET['page'])) ? $_GET['page'] : 'home';
switch ($var) {
case 'home':
$a['title'] = " » Home";
$a['meta_d'] = "This page is about my site!";
$a['meta_k'] = "something, somethingelse";
$a['slider1'] = "<script type=\"text/javascript\" src=\"./js/jquery.easing.1.3.js\"></script>\n";
$a['slider2'] = "<script type=\"text/javascript\" src=\"./js/tms-0.3.js\"></script>\n";
$a['slider3'] = "<script type=\"text/javascript\" src=\"./js/tms_presets.js\"></script>\n";
$a['main'] = "<script type=\"text/javascript\" src=\"./js/script.js\"></script>\n";
$a['pageid'] = "page1";
$a['slider'] = "slide";
break;
case 'company':
$a['title'] = " » Company";
$a['meta_d'] = "This page is about my site!";
$a['meta_k'] = "something, somethingelse";
$a['all'] = "<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n";
$a['pageid'] = "page2";
$a['slider'] = "banner";
break;
default:
$a['title'] = " » HTTP 404 - Page Not Found";
$a['meta_d'] = "";
$a['meta_k'] = "";
break;
}
return $a;
}
$details = title_switch();
?>
Run Code Online (Sandbox Code Playgroud)
这是第21行的index.php
<?php echo $details['all']; ?>
Run Code Online (Sandbox Code Playgroud)
如果调用home.php它将显示以下错误
注意:未定义的索引:全部在第21行的C:\ wamp\www\site\index.php中调用堆栈
时间记忆功能位置
1 0.0035 258968 {main}()..\index.php:0
如果我打电话给company.php它不会显示任何错误...
我可以知道哪里出错了吗?有点混淆......
例如:如果我打电话给www.example.com/company它没有显示错误,但如果我打电话给www.example.com则显示错误.
我想要这个代码
<?php echo $details['all']; ?>
Run Code Online (Sandbox Code Playgroud)
仅在www.example.com/company上显示,如果调用www.example.com则不会显示.
里面的代码:
<?php echo $details['all']; ?>
Run Code Online (Sandbox Code Playgroud)
是
case 'company':
$a['title'] = " » Company";
$a['all'] = "<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n";
Run Code Online (Sandbox Code Playgroud)
希望这能为每个能帮助我解决错误的人提供更清晰的画面.谢谢.
$a['all']只有当switch($var)等于时才被设置'company'.你需要在每个案例中设置它.
在您的交换机内部,您可以设置$a['all']为空值,因此PHP至少可以找到索引.一个简短的例子:
switch ($var) {
case 'home':
$a['all'] = '';
case 'company':
$a['all'] = '<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n';
default:
$a['all'] = '';
}
Run Code Online (Sandbox Code Playgroud)