php变量引用赋值一些知识
2016-07-16 17:03
721 查看
手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
我理解决引用相当一个人有了两个名字,无论叫其中哪一个都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。
删除引用时,无论是删除b或a结果都没会影响到另一个变量。只是相当于删除一个名称,不会影响到变量本身。
当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。
函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里b传递给函数的其实是b的变量内容所处的内存地址,通过在函数里改变a的值 就可以改变b的值了
函数的引用返回待续…
我理解决引用相当一个人有了两个名字,无论叫其中哪一个都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。
<?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo $bar = "My name is $bar"; // 修改 $bar 变量 echo $bar; echo $foo; // $foo 的值也被修改 ?> <?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo $foo = "My name is $bar"; // 修改 $foo 变量 echo $bar,"\n"; echo $foo; // $foo 的值也被修改 ?>
删除引用时,无论是删除b或a结果都没会影响到另一个变量。只是相当于删除一个名称,不会影响到变量本身。
<?php $a = 0; $b = &$a; // echo $a; //0 // unset($b); // unset $b unset($a); // unset $b echo $b; //0 it's OK
当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。
<?php $a = "hihaha"; $b = &$a; $c = "eita"; $b = &$c; echo $b; // shows "hihaha"
函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里b传递给函数的其实是b的变量内容所处的内存地址,通过在函数里改变a的值 就可以改变b的值了
function test( &$a ) { $a += 10; return $a; } $b = 1; test($b); echo $b;//输出11
函数的引用返回待续…
相关文章推荐
- 一个关于if else容易迷惑的问题
- Python动态类型的学习---引用的理解
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP