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 相关文章推荐
关于PHP5 Session生命周期介绍
Mar 02 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
PHP版单点登陆实现方案的实例
Nov 17 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
php生成微信红包数组的方法
Sep 05 PHP
PHP调用接口API封装的例子
Oct 11 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 Ctemplate引擎开发相关内容
2012/03/03 PHP
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
js实现跟随鼠标移动的小球
2019/08/26 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Python实现多属性排序的方法
2018/12/05 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
使用Python 统计高频字数的方法
2019/01/31 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
基于Python实现简单学生管理系统
2020/07/24 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
电大毕业自我鉴定
2014/02/03 职场文书
怎么写好自荐书
2014/03/02 职场文书
大学班级学风建设方案
2014/05/01 职场文书
团队精神的演讲稿
2014/05/14 职场文书
班级体育活动总结
2014/07/05 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
详解NodeJS模块化
2021/06/15 NodeJs