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 相关文章推荐
php 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php curl post 时出现的问题解决
Jan 30 PHP
PHP小教程之实现链表
Jun 09 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
Yii2.0表关联查询实例分析
Jul 18 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
Yii2实现ActiveForm ajax提交
May 26 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
一次因composer错误使用引发的问题与解决
Mar 06 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中使用array函数新建一个数组
2015/11/19 PHP
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
详解使用React制作一个模态框
2019/03/14 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
windows下Virtualenvwrapper安装教程
2017/12/13 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
WxPython建立批量录入框窗口
2019/02/27 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
入党申请人的自我鉴定
2013/12/01 职场文书
入党自我评价优缺点
2014/01/25 职场文书
春风行动实施方案
2014/03/28 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
小学清明节活动总结
2014/07/04 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
冰峪沟导游词
2015/02/09 职场文书
超市员工辞职信范文
2015/05/12 职场文书
舞出我人生观后感
2015/06/16 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
签约仪式致辞
2015/07/30 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL