php函数间的参数传递(值传递/引用传递)


Posted in PHP onSeptember 23, 2013

php:函数间的参数传递

1.值传递

<?php 
function exam($var1){ 
$var1++; 
echo "In Exam:" . $var1 . "<br />"; 
} $var1 = 1; 
echo $var1 . "<br />"; 
exam($var1); 
echo $var1 . "<br />"; 
?>

-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
1
-------------------------------------------------------------------------------
2.引用传递
<?php 
function exam( &$var1){ 
$var1++; 
echo "In Exam:" . $var1 . "<br />"; 
} $var1 = 1; 
echo $var1 . "<br />"; 
exam($var1); 
echo $var1 . "<br />"; 
?>

-------------------------------------------------------------------------------
输出结果:
1
In Exam: 2
2
-------------------------------------------------------------------------------
3.可选参数

function values($price, $tax=""){ 
$price += $prive * $tax; 
echo "Total Price:" . $price . "<br />"; 
} values(100, 0.25); 
values(100);

输出结果:
Total Price: 125
Total Price: 100
-------------------------------------------------------------------------------
4.如果传入的是一个对象,可以更改该对象的值
(实际上变量$obj记录的是这个对象的句柄,将$obj作为参数传入,完全可以对原对象进行操作。)
<?php 
class Obj{ 
public $name; 
public $age; 
public $gander; 
public function __construct($name, $age, $gander){ 
$this->name = $name; 
$this->age = $age; 
$this->gander = $gander; 
} 
public function show_info(){ 
echo $this->name . " " . $this->age . " " . $this->gander . "<br />"; 
} 
} 
function grow($obj){ 
$obj->age++; 
} 
function test(){ 
$obj = new Obj("Mr. zhan", "12", "male"); 
$obj->show_info(); 
grow($obj); 
$obj->show_info(); 
grow($obj); 
$obj->show_info(); 
} 
test(); 
?>

-------------------------------------------------------------------------------
输出结果:
Mr. zhan 12 male
Mr. zhan 13 male
Mr. zhan 14 male
PHP 相关文章推荐
用PHP和ACCESS写聊天室(八)
Oct 09 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
php计算税后工资的方法
Jul 28 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP数组基本用法与知识点总结
Jun 02 PHP
php数据类型判断函数有哪些
Sep 23 #PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 #PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 #PHP
PHP导航下拉菜单的实现如此简单
Sep 22 #PHP
PHP 输出URL的快捷方式示例代码
Sep 22 #PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 #PHP
PHP循环函数使用介绍之PHP基础入门教程
Sep 21 #PHP
You might like
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
js 上传图片预览问题
2010/12/06 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
学习Node.js模块机制
2016/10/17 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
Python使用type动态创建类操作示例
2020/02/29 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
银行演讲稿范文
2014/01/03 职场文书
上课不认真检讨书
2014/09/17 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
租车协议书
2015/01/27 职场文书
齐云山导游词
2015/02/06 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android