【发布时间】:2012-11-07 05:45:45
【问题描述】:
我正在尝试制作一个包含页面的功能。
事实上,一开始我使用的是检查所有页面的长代码:
if (isset($_GET]['p']) && $_GET['p']=='something') {include 'something.php'};
现在我处理了 600 多页,这段代码太长了,我想简化一下。
有时我确实有一些页面的标题就像它们被使用一样,例如 home 将对应于 accueil.php 等。
所以我做了一个数组,其中列出了所有异常:
这样:
$paramListepages = array(
'corbeille' => array(
'libelle' => 'corbeille',
'page' => 'php/trash.php'
),
'nouveaumessage' => array(
'libelle' => 'nouveaumessage',
'page' => 'php/envoyer.php'
),
等等……
在这个数组中我有大约 20 页。
现在我尝试创建一个包含页面的函数,所以这是我的代码:
function getPage($var)
{
if (isset($var)) {
$key = array_search($var, $paramListepages);
if ($key == false()) {
include('php/'.$var.'.php');
} else {
}
}
}
我不明白为什么第一部分不起作用。
我首先检查数组中是否存在 var,如果不存在,则包含与 var 对应的页面。
我仍然不知道如何做第二部分,但现在第一部分不起作用。
我没有消息错误,即使在我的 ubunto 中我激活了所有错误的显示。
在主页index.php我调用函数getPage($_GET['p'])
我们将不胜感激任何形式的帮助。
【问题讨论】:
-
false()不是函数。将其更改为if ($key == false) {。此外,include也不是函数,它是一种语言结构;所以不应该使用括号。让它include '/path/to/file.php'; -
感谢这部分它实际上工作得很好,我已经改变了,最后一个问题是如何从第一个数组中获取页面的正确值?
-
function false(){ return false; }。那是个笑话。 -
@StasGrin:我只是想如果你传播一个函数
function false(){return true;}... -
@arkascha 试试看。通过没有错误\警告\通知。否则请参阅 wiki 中的“讽刺”标签。
标签: php arrays function include