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 Sql Server连接失败问题及解决办法
Aug 07 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
PHP生成二维码的两个方法和实例
Jul 01 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
thinkphp5实现微信扫码支付
Dec 23 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检测移动设备类mobile detection使用实例
2014/04/14 PHP
实例讲解php数据访问
2016/05/09 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
Vue组件化开发思考
2018/02/02 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python实现截屏的函数
2015/07/26 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
C#的几个面试问题
2016/05/22 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
财务部岗位职责
2013/11/19 职场文书
教师实习自我鉴定
2013/12/13 职场文书
教师个人剖析材料
2014/02/05 职场文书
校园文明标语
2014/06/13 职场文书
感恩教育月活动总结
2014/07/07 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书