1

每次我在我的 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']   = " &#187; 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']  = " &#187; 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']  = " &#187; HTTP 404 - Page Not Found";
            $a['meta_d'] = "";
            $a['meta_k'] = "";
            break;
    }
    return $a;
}
$details = title_switch();
?>  

这是我在第 21 行的 index.php

<?php echo $details['all']; ?>

如果调用 home.php 它将显示以下错误

注意:未定义的索引:全部在 C:\wamp\www\site\index.php 第 21 行调用堆栈

时间记忆功能位置

1 0.0035 258968 {main}( ) ..\index.php:0

如果我打电话给 company.php 它不会显示任何错误...

我可以知道我哪里出错了吗?这里有点混乱...

例如:如果我调用 www.example.com/company 它没有显示错误,但如果我调用 www.example.com 它显示错误。

我想要这个代码

<?php echo $details['all']; ?>

仅在 www.example.com/company 时显示,如果 www.example.com 被调用则不会显示。

里面的代码:

<?php echo $details['all']; ?>

case 'company':
        $a['title']  = " &#187; Company";
        $a['all']    = "<script type=\"text/javascript\" src=\"./js/all.js\"></script>\n";

希望这可以为每个可以帮助我解决错误的人提供一个更好更清晰的画面。谢谢你。

4

2 回答 2

5

$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'] = '';
}
于 2013-02-24T04:34:23.287 回答
0

目前尚不清楚您要做什么。但是在函数中定义 $a['all'] 即使它是空的。因此,它将被设置并且不会发出警告。添加行 $a['all'] = ''; 在默认情况下:

于 2013-02-24T08:59:19.183 回答