变量不存在

时间:2012-06-14 14:48:50

标签: php variables

我有以下问题。我有变量的文件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。为什么以及我能在这做什么?

祝你好运, 达格纳

5 个答案:

答案 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;
    }
 ?>