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 相关文章推荐
mysql中存储过程、函数的一些问题
Feb 14 PHP
PHP 采集程序 常用函数
Dec 18 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
PHP的Socket通信之UDP通信实例
Jul 02 PHP
php目录拷贝实现方法
Jul 10 PHP
ThinkPHP静态缓存简单配置和使用方法详解
Mar 23 PHP
完美解决在ThinkPHP控制器中命名空间的问题
May 05 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
PHP http请求超时问题解决方案
Nov 13 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
php学习之 数组声明
2011/06/09 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
什么是JavaScript
2009/08/13 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
原生js实现日期联动
2015/01/12 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
对Python3中的input函数详解
2018/04/22 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
会计专业推荐信
2013/10/29 职场文书
生产主管岗位职责
2013/11/10 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
社会实践活动总结报告
2014/04/29 职场文书
人力资源管理求职信
2014/08/07 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js