在尝试在我的服务器上进行开发时,我发现了一些我正在开发的PHP脚本的奇怪行为。看来我无法访问在函数外部声明的变量。
我决定编写一个简单的test.php文件,以确保它不是由我的其他代码引起的,并且是一个完整性检查。
<?php
$name = 'Jamie';
function sayMyName(){
echo "My name is: " . $name;
}
sayMyName();
?>
上面的代码输出:My name is:
我的IDE甚至向我发出警告$name
未分配。
我一段时间没有使用过PHP,但我确定这是有效的吗?
这可能与PHP的设置有关,如果是这样,任何想法是什么造成这种情况? - 我在HostGator共享主机软件包上,所以我无法想象默认设置会太模糊。
答案 0 :(得分:0)
您需要将变量设置为全局变量,以便函数可以访问它。
<?php
$name = 'Jamie';
global $name;
function sayMyName(){
echo "My name is: " . $name;
}
sayMyName();
?>
或者,您可以将变量传递给函数。
<?php
$name = 'Jamie';
function sayMyName($name){
echo "My name is: " . $name;
}
sayMyName($name);
?>
答案 1 :(得分:0)
function sayMyName($name){
echo "My name is: " . $name;
}
sayMyName('Jamie');
在课堂上
class sayMyName
{
public function setName($name) {
return "My name is: ".$name;
}
}
$myname=New sayMyName();
echo $myname->setName('Jamie');