2015-03-13 119 views
0

我得到一个PHP错误PHP函数不能正常工作,未定义的变量

不确定的变量$ FNAME

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

在正确的方向任何帮助大大appriciated!由于

+1

对'$ fname'使用'global'关键字 – prava 2015-03-13 07:20:42

+1

最可能的变量范围问题 – starkeen 2015-03-13 07:21:05

+0

是的,这关乎范围,我承认它。否则,你有其他相关的代码呢? – 2015-03-13 07:29:35

回答

2

你有一个变量范围的问题outsid定义

变量e函数具有全局范围并且它们不能在函数内部使用,如果要在函数内部使用它们必须在变量名称前写入全局关键字

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

0

您不能访问内部函数变量宣告了一边,你必须使用使用global关键字....

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

也许只是添加评论以了解更改内容和原因。 – 2015-03-13 07:21:05

1

尝试把该$fnamegetThis()函数内部,如:

<?php 

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

?> 
1

使用: -

$fname="John"; 

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

For more information click here

1

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

像这样:

$fname="John"; 

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

    echo $complete_name; 
} 

getThis($fname); 
-1

您必须声明$ FNAME全球。就是这样......