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 高手之路(一)
Oct 09 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
C#静态方法与非静态方法实例分析
Sep 22 PHP
php学习笔记之基础知识
Nov 08 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
php图片水印添加、压缩、剪切的封装类实现
Apr 18 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 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
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
浅析Vue 中的 render 函数
2020/02/28 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
python编程实现归并排序
2017/04/14 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
wxpython实现图书管理系统
2018/03/12 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
写好自荐信要注意的问题
2013/11/10 职场文书
模范班主任事迹材料
2014/12/17 职场文书
施工员岗位职责范本
2015/04/11 职场文书
OpenCV实现反阈值二值化
2021/11/17 Java/Android
Django中celery的使用项目实例
2022/07/07 Python