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异常处理技术,顶级异常处理器
Jun 13 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
php设计模式之观察者模式的应用详解
May 21 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
利用PHP绘图函数实现简单验证码功能的方法
Oct 18 PHP
PHP对XML内容进行修改和删除实例代码
Oct 26 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
PHP7新特性
Mar 09 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中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
jquery 事件对象属性小结
2010/04/27 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python验证码图片处理(二值化)
2019/11/01 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
校园安全检查制度
2014/02/03 职场文书
行政副总岗位职责
2014/02/23 职场文书
《大海那边》教学反思
2014/04/09 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
在校学生证明格式
2015/06/24 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
如何用python反转图片,视频
2021/04/24 Python
Java实现多文件上传功能
2021/06/30 Java/Android
mysql创建存储过程及函数详解
2021/12/04 MySQL
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技