我知道这里已经以各种方式提出了这个问题,但我想我一定是愚蠢的!
我有这个非常简单的功能:
$firstline = "please say";
function localSidebarText() {
global $firstline;
echo $firstline;
echo "hello";
}
localSidebarText();
但是,它输出的是Hello这个词,而不是它前面的“请说”。
我做错了什么非常明显的事情?
谢谢!
避免使用全局变量。将某些东西“传递”给函数很简单:
function localSidebarText($pageTitle, $firstLine) {
echo $firstLine;
echo "hello";
}
localSidebarText("Some page title", "The first line");
您的变量不在函数范围内,因此在函数本身中未定义。你可以替换:
global $pagetitle;
和:
global $pagetitle, $firstline;
或将变量放在函数中,或者最后但并非最不重要的是给函数变量作为参数。
global $firstline = "please say";
global $pagetitle;
function localSidebarText() {
echo $firstline;
echo "hello";
}
localSidebarText();
或者
global $pagetitle;
function localSidebarText($textToPrint) {
echo $textToPrint;
echo "hello";
}
localSidebarText("please say");