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脚本的10个技巧(3)
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
Laravel5权限管理方法详解
Jul 26 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
php_pdo 预处理语句详解
Nov 21 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
基于PHP实现生成随机水印图片
Dec 09 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
apache rewrite_module模块使用教程
2008/01/10 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
jquery中获取元素的几种方式小结
2011/07/05 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
对Python中plt的画图函数详解
2018/11/07 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python利用tkinter实现屏保
2019/07/30 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
用Python实现职工信息管理系统
2020/12/30 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
DTD的含义以及作用
2014/01/26 面试题
模范教师材料大全
2014/12/16 职场文书
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android
python开发飞机大战游戏
2021/07/15 Python
Python中npy和mat文件的保存与读取
2022/04/24 Python
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript