PHP实现函数内修改外部变量值的方法示例


Posted in PHP onDecember 28, 2018

本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考,具体如下:

直接上代码,如下:

$a_str = 'ab';
function change_val(){
  global $a_str; // 通过设置全局变量,修改变量值
  //$a_str = 'abc';
  $a_str = $a_str.'abc';
}
echo $a_str."<br>";
change_val();
echo $a_str."<br>";
echo str_repeat('#',20)."<br>";
$b_str = 'ab';
function change_val_1($s){
  $s = 'abc';
  //$s = $s.'abc';
  return $s; // 通过返回值,修改变量值
}
echo $b_str."<br>";
$b_str = change_val_1($b_str);
echo $b_str."<br>";
echo str_repeat('#',20)."<br>";
$c_str = 'ab';
function change_val_2(&$c_str){//引用调用
  //$c_str = 'abc';
  $c_str = $c_str.'abc';
}
echo $c_str."<br>";
change_val_2($c_str);
echo $c_str."<br>";

运行结果:

ab
ababc
####################
ab
abc
####################
ab
ababc

总结:

  • 尽量少用全局变量。全局变量会增加内存使用量。
  • 传值调用会创建一个副本,数据量很大时,会影响性能。
  • 引用调用时,函数接收的是变量地址,不会创建数据副本,效率高 。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
FleaPHP的安全设置方法
Sep 15 PHP
PHP sprintf()函数用例解析
May 18 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
php include和require的区别深入解析
Jun 17 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 #PHP
PHP抽象类基本用法示例
Dec 28 #PHP
php PDO属性设置与操作方法分析
Dec 27 #PHP
php实现的PDO异常处理操作分析
Dec 27 #PHP
CI框架网页缓存简单用法分析
Dec 26 #PHP
CI框架附属类用法分析
Dec 26 #PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 #PHP
You might like
php获取数组长度的方法(有实例)
2013/10/27 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
python中反射用法实例
2015/03/27 Python
python中while循环语句用法简单实例
2015/05/07 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python中标准库OS的常用方法总结大全
2017/07/19 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
Python通过字典映射函数实现switch
2020/11/06 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
班子四风对照检查材料思想汇报
2014/09/29 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
nginx服务器的下载安装与使用详解
2021/08/02 Servers