php函数内访问函数外定义的变量,php内部函数
php在本函数里定义的变量如何在另一个函数里使用它的值
1、用return函数来返回你所需的变量。例子:
function my(){
$from_sql=mysql_request($result);
return $from_sql; //把$from_sql变量返回给函数
}
2、就是从外部定义好变量,然后在函数内调用全局变量。例子:
$from_sql=mysql_request($result);
function my(){
global $from_sql;
//一下可以直接调用$from_sql变量了
}
3、要调用的函数是一个类里面的一个方法。例子
class myclass{
public $from_sql;
$from_sql=mysql_request($result);
}
如果要调用$from_sql变量的话就可以这样调用。如下:
$my=new myclass();
$get_from_sql=$my-from_sql;
php如何通过变量的变量引用外部变量?
很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
比如下面这样:
复制代码代码如下:
$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}
如果,你想在函数内部访问外部变量,你需要这样:
复制代码代码如下:
$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}
也就是说,你使用全局变量就可以在函数内调用外部定义过的变量
php的匿名函数怎么访问外部变量?
使用create_function()创建"匿名"函数
前面提到PHP5.3中才才开始正式支持匿名函数,说到这里可能会有细心读者有意见了,因为有个函数是可以生成匿名函数的: create_function函数,在手册里可以查到这个函数在PHP4.1和PHP5中就有了,这个函数通常也能作为匿名回调函数使用,例如如下:
?php
$array = array(1, 2, 3, 4);
array_walk($array, create_function('$value', 'echo $value'));
这段代码只是将数组中的值依次输出,当然也能做更多的事情。 那为什么这不算真正的匿名函数呢,我们先看看这个函数的返回值,这个函数返回一个字符串,通常我们可以像下面这样调用一个函数:
?php
function a() {
echo 'function a';
}
$a = 'a';
$a();
我们在实现回调函数的时候也可以采用这样的方式,例如:
?php
function do_something($callback) {
// doing
# ...
// done
$callback();
}
这样就能实现在函数do_something()执行完成之后调用$callback指定的函数。回到create_function函数的返回值:函数返回一个唯一的字符串函数名,出现错误的话则返回FALSE。这么说这个函数也只是动态的创建了一个函数,而这个函数是有函数名的,也就是说,其实这并不是匿名的。只是创建了一个全局唯一的函数而已。
php函数内访问外部数组怎么用
1、把外部数组当成参数传递进来
2、外部数组做成类级变量,在类的函数里就可以直接访问了
php的class中怎样引用外部的变量?
把$a放在下面,
function name($string){
global $a;
}
$a="xxfaxy";
name("$a");
这样就可以了。
延展阅读:
php的class中的外部变量是在函数外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。编译时将外部变量分配在静态存储区。
PHP function 里 怎么调用外部定义过的变量
很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
比如下面这样:
复制代码代码如下:
$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}
如果,你想在函数内部访问外部变量,你需要这样:
复制代码代码如下:
$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}
也就是说,你使用全局变量就可以在函数内调用外部定义过的变量