我有以下问题。我有变量的文件variable.php:
<?php
$animal = "cat";
?>
并提交b.php文件,我想在函数中使用这个变量
<?php
include_once 'a.php';
function section()
{
$html = "<b>" . $animal "</b>";
return $html;
}
?>
并提交c.php文件,我正在使用我的函数section()
<?php
require_once 'b.php';
echo section();
?>
我有一条错误消息variable $animal does not exist in file b.php
。为什么以及我能在这做什么?
祝你好运, 达格纳
答案 0 :(得分:8)
变量具有功能范围。您没有在<{1}}函数中声明变量$animal
,因此它在section
函数中不可用。
将其传递给函数以使值可用:
section
function section($animal) {
$html = "<b>" . $animal "</b>";
return $html;
}
答案 1 :(得分:3)
将$animal;
发送到函数:
function section($animal)
{
$html = "<b>" . $animal "</b>";
return $html;
}
答案 2 :(得分:1)
include_once 'a.php';
应该是
include_once 'variable.php';
答案 3 :(得分:1)
另一种选择是使用类,例如:
class vars{
public static $sAnimal = 'cat';
}
然后在您的函数中,将该变量用于:
public function section()
{
return "<B>".vars::$sAnimal."</b>";
}
答案 4 :(得分:0)
如果它是一个常量,你可以使用PHP的define函数。
a.php只会:
<?php
define("ANIMAL", "cat");
?>
b.php:
<?php
include_once 'a.php';
function section() {
$html = "<b>" . ANIMAL . "</b>";
return $html;
}
?>