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 相关文章推荐
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
PHP+MySQL修改记录的方法
Jan 21 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
详解WordPress中添加和执行动作的函数使用方法
Dec 29 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
php用户登录之cookie信息安全分析
May 13 PHP
Yii2实现自定义独立验证器的方法
May 05 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP 多任务秒级定时器的实现方法
May 13 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文件向另一个地址post数据,不用表单和隐藏的变量的
2007/03/06 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript中URL编码函数代码
2011/01/11 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python聊天室实例程序分享
2016/01/05 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
食堂个人先进事迹
2014/01/22 职场文书
老师对学生的寄语
2014/04/09 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
借条如何写
2015/05/26 职场文书
论文答辩开场白大全
2015/05/27 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
解析目标检测之IoU
2021/06/26 Python
Python音乐爬虫完美绕过反爬
2021/08/30 Python
pycharm无法安装cv2模块问题
2022/05/20 Python
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js