单引号内的PHP函数显示为文本

单引号内的PHP函数显示为文本,php,function,get,Php,Function,Get,我有一个显示用户列表的函数,它是displayUsers() 基本上,我没有为每个页面使用一个不同的php文件,而是使用了一个开关函数来加载内容,如。这是其中一页的示例 switch($_GET['page']) { case '#userlist' : $page = ' <div class="innerbox"> displayUsers(); </div> '; break; } 开关($\u GET

我有一个显示用户列表的函数,它是
displayUsers()

基本上,我没有为每个页面使用一个不同的php文件,而是使用了一个开关函数来加载内容,如。这是其中一页的示例

switch($_GET['page'])  {

   case '#userlist' : $page = '
       <div class="innerbox">
            displayUsers();
       </div> '; break;
}
开关($\u GET['page'])){
案例“#用户列表”:$page='1
显示用户();
",休息,;
}
正如您所看到的,它应该显示
div
标记并加载函数,但不是加载函数,而是显示文本“displayUsers()”。我理解它为什么这样做,但是我不知道如何更改它,以便它实际运行函数,而不是显示它。任何帮助都将不胜感激

关于

您需要使用。(点)使用singleqotes时附加字符串:

$page = '<div class="innerbox">'.displayUsers().'</div>';
$page=''.displayUsers()';
displayUsers()
在引号内。它被解释为一个字符串。你想要

switch($_GET['page'])  {

   case '#userlist': $page = '<div class="innerbox">' . displayUsers() . '</div>'; break;

}
所发生的事情是打印开始标记,然后调用函数(打印代码),然后按顺序打印结束标记


如果您得到的是
函数not defined()
,那么它听起来就是这样的。当前脚本中尚未定义该函数

PHP的工作原理 每次请求页面时(有人转到“foo.php”),您的服务器和php引擎都会从某个目录中获取文件(foo.php),对其进行解析,然后(通常)以HTML文档的形式将某些内容发送回用户。每个页面都像一个“脚本”,有点像一个小应用程序,被编译、执行一次,然后被遗忘

因此,假设您在主页上定义了
displayUsers()

//index.php

function displayUsers() {
    //some code...
}

echo "Welcome to my website!", "<br />", 'Click <a href="foo.php">Here</a>.';
//index.php
函数displayUsers(){
//一些代码。。。
}
echo“欢迎访问我的网站!”、“
”、“单击”;
当有人进入你的主页时,
displayUsers()
被定义,耶!然而,这一点后来就被忘记了——PHP引擎在加载并完成脚本后丢弃了它,并且在您到达
foo.PHP
时肯定不知道
displayUsers()
是什么


那你能做什么呢? 如果只在一个页面上使用该函数,请在该页面上声明它。请记住,每个文件都被视为一个脚本。PHP引擎不跟踪用户会话中的函数

如果您在多个脚本中使用函数,请将函数包含在某个“中心”文件中,并在需要的任何地方使用它。我真的建议你多阅读PHP和
包括
;我不打算解释PHP的基础知识;你需要多做些家庭作业。

试试这个

case '#userlist' : $page = '
           <div class="innerbox">'
                .displayUsers().
           '</div> '; break;
case'#userlist':$page='1〕
'
.displayUsers()。
' '; 打破

按以下方式使用串联
运算符:

switch($_GET['page'])  {

   case '#userlist':
       $page = '
       <div class="innerbox">'
       . displayUsers() .
       '</div> ';
       break;
}
开关($\u GET['page'])){
案例“#用户列表”:
$page='1
'
.displayUsers()。
' ';
打破
}

我已经尝试过了,但是它随后产生了一个错误,表示函数未定义。主页上有一个定义函数的PHP文件,但是我是否必须在包含所有
案例的页面中包含该文件?是否将包含案例的PHP文件包含在主页中?如果没有,您需要这样做,或者从包含案例的PHP文件中调用函数,另一件事:您的查询字符串是否真的是“#userlist”?是的,我包含了包含所有
案例的PHP文件,还包含了定义函数的文件。它应该可以正常工作。还是先包含此页面,然后再包含具有此功能的页面?
switch($_GET['page'])  {

   case '#userlist':
       $page = '
       <div class="innerbox">'
       . displayUsers() .
       '</div> ';
       break;
}