PHP功能不起作用,未定义变量

时间:2015-03-13 07:19:07

标签: php

我收到了php错误

  

未定义的变量$ fname

 $fname="John";
 function getThis()
 { 
  $complete_name= $fname."Kerry";
echo $complete_name;}
    getThis();  

任何朝着正确方向的帮助都很受欢迎!谢谢

6 个答案:

答案 0 :(得分:2)

你有一个变量范围问题

  

在函数外部定义的变量具有全局范围,并且它们不能在函数内使用,如果要在函数内使用它们必须编写全局关键字在变量名之前。

 global $fname;

在您的情况下

我注意到变量 $ fname 是在函数外定义的,它有一个全局范围,如果你在函数内使用它,那么它会抛出错误。

试试这个

  $fname="John";
  function getThis()
 { global $fname;
  $complete_name= $fname."Kerry";
echo $complete_name;}
    getThis();  

来源

http://php.net/manual/en/language.variables.scope.php

答案 1 :(得分:1)

尝试将$fname放在getThis()函数中,如:

<?php

 function getThis() { 
 $fname="John";
 $complete_name= $fname."Kerry";
 echo $complete_name;
 }
 getThis();

?> 

答案 2 :(得分:1)

使用此: -

$fname="John";

    function getThis()
     { 
    global $fname;
    $complete_name= $fname."Kerry";
    echo $complete_name;
    }
    getThis();

For more information click here

答案 3 :(得分:1)

您可以将变量传递给函数。

像这样:

 $fname="John";

 function getThis($f_name)
 { 
   $complete_name= $f_name."Kerry";

   echo $complete_name;
 }

 getThis($fname); 

答案 4 :(得分:0)

你无法访问声明方面的函数内部的变量,你必须使用全局关键字来使用....

 $fname="John";
 function getThis()
 { 
global $fname;
$complete_name= $fname."Kerry";
echo $complete_name;}
    getThis(); 

答案 5 :(得分:-1)

您必须将$ name声明为全局。那就是......