本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考,具体如下:

直接上代码,如下:

$a_str = 'ab';

function change_val(){

global $a_str; // 通过设置全局变量,修改变量值

//$a_str = 'abc';

$a_str = $a_str.'abc';

}

echo $a_str."
";

change_val();

echo $a_str."
";

echo str_repeat('#',20)."
";

$b_str = 'ab';

function change_val_1($s){

$s = 'abc';

//$s = $s.'abc';

return $s; // 通过返回值,修改变量值

}

echo $b_str."
";

$b_str = change_val_1($b_str);

echo $b_str."
";

echo str_repeat('#',20)."
";

$c_str = 'ab';

function change_val_2(&$c_str){//引用调用

//$c_str = 'abc';

$c_str = $c_str.'abc';

}

echo $c_str."
";

change_val_2($c_str);

echo $c_str."
";

运行结果:

ab

ababc

####################

ab

abc

####################

ab

ababc

总结:

尽量少用全局变量。全局变量会增加内存使用量。

传值调用会创建一个副本,数据量很大时,会影响性能。

引用调用时,函数接收的是变量地址,不会创建数据副本,效率高 。

希望本文所述对大家PHP程序设计有所帮助。

php 方法里用外部变量的值,PHP实现函数内修改外部变量值的方法示例相关推荐

  1. php使用使用外部变量的值,PHP实现函数内修改外部变量值的方法示例

    PHP实现函数内修改外部变量值的方法示例 本文实例讲述了PHP实现函数内修改外部变量值的方法.分享给大家供大家参考,具体如下: 直接上代码,如下: $a_str = 'ab'; function ch ...

  2. 7-利用函数交换两个变量值的方法

    利用函数交换两个变量值的方法 1.利用一个中间变量 void Swap(int *p1,int *p2) {int temp=0;//定义一个中间变量temp=*p1;//把a的值赋给中间变量*p1= ...

  3. java lambda 变量_为什么Java中lambda表达式不能改变外部变量的值,也不能定义自己的同名的本地变量呢?...

    你问的问题在 Project Lambda 的概述文档上已经解释了,这都属于设计上的取舍. 不能改变外部变量的值是因为线程安全问题.当然这可能不是唯一原因,可能有其他考虑,但文档上清清楚楚说明了:Wh ...

  4. oracle定义变量sql赋值_ORACLE获取SQL绑定变量值的方法总结

    本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下这方面的知识点,方面日后查找.翻阅. 方法1:查询V$SQL V$S ...

  5. pythontk界面显示函数中的变量值_简单易学,西门子触摸屏3种修改变量值的方法!博图Wincc V14组态...

    应条友要求,今天分享3种修改触摸屏变量值的最常用方法! 全文约700字,通读4分钟! 看完本章,你将收获以下内容: 一:必会知识点:3种修改变量的方法及适用点 二:实例:3种方法修改触摸屏变量值 三: ...

  6. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  7. php 实现两变量值对换,PHP互换两个变量值的方法(不用第三变量)

    前言 今天在这里我们就来看看,在PHP中如何在不使用第三变量的情况下,达到交换两个变量值得目的.详细的解说见代码注释,下面来一起看看吧. 一.substr() && strlen() ...

  8. 四种“不使用第三方变量就可以交换两个变量值”的方法

    问题引入: 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换. 代码如下: t = a; a = b; b = t; 在这里插入代码片 但问题的重点是"不使用第三方变 ...

  9. 交换两个变量的值的swap函数

    比如说我们想交换变量i和j的值,写出下列代码: #include<iostream> using namespace std; void swap(int a,int b){temp=a; ...

最新文章

  1. mysql show 原理_mysql事务的实现原理
  2. vivo不小心把内部自研技术方案写进了“年终总结”,我看了直接好家伙
  3. srm 593 dv2 1000pt
  4. MySQL发展史重大事件
  5. 【POI2011】LIZ-Lollipop 【构造】
  6. 项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序的解决办法...
  7. 【华为云实战开发】15.Maven依赖的JAR包下载慢?赶紧看过来
  8. 5.FreeRTOS学习笔记- 互斥量
  9. 英语语法总结--独立主格
  10. 小程序是否转发群还是个人(转发功能)
  11. 勤哲excel服务器2017试用
  12. 基于Web的svg编辑器(2)——层次结构设计(DOM结构)
  13. redhat linux 下小企鹅输入法fcitx的安装
  14. 服务器修改密码次数过多提示被锁定,路由器密码错误次数过多锁死了怎么办?...
  15. 神策数据虚席以待,欢迎加入!
  16. kasp技术原理_KASP-基于已知SNP的高通量基因分型
  17. 前端vue方法导出为xsml
  18. 数据治理的四字箴言:理、采、存、用
  19. 【DeepMind】新算法MuZero在Atari基准上取得了新SOTA效果,成果问鼎Nature
  20. 特斯拉降维打击 国产电动车怎么“盘”?

热门文章

  1. DBeaver连接达梦|虚谷|人大金仓等国产数据库
  2. Android 实现验证码效果图
  3. java 计算工具类_java精确计算工具类
  4. java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...
  5. java 接口式自定义回调函数
  6. docker web程序本地化_Docker-01-Docker介绍
  7. 模糊查询与字符串的操作
  8. 计算机汇编语言运用哪个进制,运用汇编语言怎样以2进制、8进制、10进制、16进制方式输出10进制的数的计算结果。...
  9. 【C语言进阶深度学习记录】十三 C语言中 ++和--操作符
  10. 四、COSMIC功能点实操