php函数前面加&符号的意思是函数的引用返回,php函数前面加&符号有什么作用呢
function &test()
{
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b;
}
$a=test();//这条语句会输出 $b的值 为1
$a=5;
$a=test();//这条语句会输出 $b的值 为2
$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test();//这条语句会输出 $b的值 为6
下面解释下:
通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别.
至于原因: 这是PHP的规定
php规定通过$a=&test(); 方式得到的才是函数的引用返回.
至于什么是引用返回呢(PHP手册上说:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。)
用上面的例子来解释就是
$a=test()方式调用函数,只是将函数的值赋给$a而已, 而$a做任何改变 都不会影响到函数中的$b.
而通过$a=&test()方式调用函数呢, 他的作用是将return $b中的 $b变量的内存地址与$a变量的内存地址,
指向了同一个地方. 即产生了相当于这样的效果($a=&b;) 所以改变$a的值,也同时改变了$b
的值
,所以在执行了:
$a=&test(); $a=5; 以后,$b的值变为了5 ......
php函数前面加&符号是什么意思?有的函数前面会加&,因为很少见到,所以不明白php函数前面加&符号是什么意思
那么,php函数前面加&符号有什么作用呢
function &test()
{
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b;
}
$a=&test();//这条语句会输出 $b的值 为1
$a=6;
test();//这条语句会输出$b的值 为7
php变量前面加&符号是什么意思
先看一个示例
$foo = 321;
$bar = &$foo;
$bar = 123;
print $foo;
那么输出的结果将会是什么呢
123
为什么会这样呢?
改动新的变量将影响到原始变量,这种赋值操作更加快速
注意:只有命名变量才可以传地址赋值
就是说,改变了$bar的值,也就改变了$foo的值了
分享到:
相关推荐
php变量前面加&符号是什么意思就不用多说了,大家都在用,就是两个变量同时指向一个地址而已,那么,php函数前面加&符号的意义又是什么呢?下面先上两个演示代码,然后再做解释。 function &chhua() { static $b=...
* PHP函数 -----函数的高级用法 课程内容 可变函数 引用函数返回值 函数的嵌套调用 函数的递归调用 回调函数 一、可变函数 一个变量的值可以为另一个变量的名称。此外,一个变量的值还可以是一个函数的名称,这就是...
- **变量符号**:`$`,用于标识变量。 - **引用符号**:`&`,用于表示变量的引用。 - **错误抑制**:`@`,用于抑制错误信息的输出。 - **对象成员访问**:`->`,用于访问对象的属性或方法。 - **数组元素值**:`=>`...
然而,通过在参数前加"&"符号,可以实现按引用传递,使得函数内部的修改会影响到原始变量。同样,函数也可以返回引用,允许调用者直接修改被返回的变量。 3. **动态创建函数**:PHP支持在运行时动态定义函数,这...
在处理复杂数据类型如数组时,可以使用`print_r()`或`var_dump()`函数来查看变量的结构和内容。 8. **变量命名规则**:变量名必须以字母或下划线开头,后面可以跟任何数量的字母、数字或下划线。变量名区分大小写,...
下面详细介绍PHP中注释、变量、数组、常量和函数等基础知识。 首先,注释在PHP代码中用于解释代码的作用,以便开发者或其他人阅读代码时能更快理解。单行注释使用"//"开头,多行注释则用"/***/"包裹起来。PHP中的单...
强制类型转换(例如`intval()`和`strval()`)可以确保变量的数据类型符合预期,而`isset()`和`empty()`函数则用于检查变量是否已设置和是否有值。 总的来说,PHP变量的应用贯穿于整个Web开发过程,从用户注册登录到...
### PHP中的变量引用、函数引用和对象引用解析 #### 变量引用 在PHP中,变量引用是指两个或多个变量共享同一内存空间的情况。当一个变量通过引用赋值给另一个变量时,它们实际上指向相同的内存位置,而不是进行值的...
- PHP函数内部默认不能访问全局变量,除非使用`global`关键字。 - 考虑性能时,引用传递优于值传递,尤其是在处理大对象或字符串时。 - 使用`isset()`检测变量是否定义,`unset()`取消变量定义。
php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 变量的引用 PHP 的引用...
【PHP变量和运算符教程】 在PHP编程语言中,变量是存储数据的容器,而运算符则是用于操作这些数据的符号。本教程将深入讲解PHP中的变量和运算符,帮助初学者更好地理解和运用这两个关键概念。 ### PHP变量 1. **...
变量处理函数库 Vmailmgr 邮件处理函数库 WDDX 函数库 压缩文件函数库 XML 解析函数库 Session 函数库 GNU 记录函数库 FTP 文件传输函数库 MCAL 模块日历存取函数库 第五章 范例程序 访客计数器 用户认证...
在PHP中,引用符号(&)是一个非常有用的工具,它允许我们创建变量、函数或对象的别名。这意味着不同的名称可以访问同一块数据。这样的特性在编程时可以让我们更加灵活地操作数据,同时可以节省内存空间,尤其在处理...
PHP函数是编程语言PHP中的核心概念,用于组织代码和实现特定功能。函数具有以下几个关键特点: 1. **命名唯一**:每个函数都有一个独特的名称,通过这个名称可以在代码的任何地方调用它。 2. **独立性**:函数能够...
### PHP 获取当前URL路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF 在PHP开发中,理解并正确使用服务器变量是至关重要的。这些变量可以帮助开发者获取当前请求的各种信息,例如请求的...
引用传递在函数参数中也有应用,如果函数参数使用`&`声明,那么函数内部对参数的修改会影响到外部变量的值。例如: ```php function changeValue(&$value) { $value = 30; } $c = 15; changeValue($c); // 现在 c...
全局变量在PHP函数中的使用需要注意。如果在函数内部需要访问或修改全局变量,必须使用`global`关键字来声明。例如,在`Demo8.php`中,函数`fa()`修改了全局变量`$a`的值,从5变为了2。如果不使用`global`关键字,则...
引用赋值通过在变量前加上&符号实现,但只能对已命名的变量进行引用赋值,不能对表达式进行引用。 虽然PHP不需要显式初始化变量,但建议对变量进行初始化。未初始化的变量会有其类型的默认值,如布尔类型默认为...