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生成文件
Jan 15 PHP
模拟flock实现文件锁定
Feb 14 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
为你总结一些php系统类函数
Oct 21 PHP
PHP 搜索查询功能实现
Nov 29 PHP
使用PHPMailer发送邮件实例
Feb 15 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
PHP isset empty函数相关面试题及解析
Dec 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+MySql编写聊天室
2006/10/09 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
PHP类型约束用法示例
2016/09/28 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
JS中数据结构之栈
2019/01/01 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
python中字典(Dictionary)用法实例详解
2015/05/30 Python
python装饰器与递归算法详解
2016/02/18 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
ipython和python区别详解
2019/06/26 Python
pytorch梯度剪裁方式
2020/02/04 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
Java程序员常见面试题
2015/07/16 面试题
教师爱岗敬业演讲稿
2014/05/05 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
创业计划书之面包店
2019/09/12 职场文书
Python字典的基础操作
2021/11/01 Python
vue中div禁止点击事件的实现
2022/04/02 Vue.js