文档章节

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

夏日晚晴天
 夏日晚晴天
发布于 2013/09/24 17:09
字数 308
阅读 58
收藏 0
函数间的参数传递包括值传递和引用传递。
php:函数间的参数传递 

1.值传递 
复制代码代码如下:
<?php 
function exam($var1){ 
$var1++; 
echo "In Exam:" . $var1 . "<br />"; 


$var1 = 1; 
echo $var1 . "<br />"; 
exam($var1); 
echo $var1 . "<br />"; 
?> 

------------------------------------------------------------------------------- 
输出结果: 

In Exam: 2 

------------------------------------------------------------------------------- 
2.引用传递 
复制代码代码如下:
<?php 
function exam( &$var1){ 
$var1++; 
echo "In Exam:" . $var1 . "<br />"; 

//www.jbxue.com
$var1 = 1; 
echo $var1 . "<br />"; 
exam($var1); 
echo $var1 . "<br />"; 
?> 
------------------------------------------------------------------------------- 
输出结果: 

In Exam: 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 />"; 

}  //www.jbxue.com
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

本文转载自:

夏日晚晴天
粉丝 3
博文 62
码字总数 1338
作品 0
东城
程序员
私信 提问
PHP常用函数篇

PHP常用函数篇 1.为什么要使用函数? 除了内建的PHP函数,我们可以创建我们自己的函数。 函数是可以在程序中重复使用的语句块。 使代码逻辑更清晰 避免过多的全局变量 封装后避免相同逻辑重复...

Besmall
2017/11/01
0
0
php入门4之函数

一、定义和调用函数: 格式: function functionname($arg1,$arg2,...$argn){ } 二、值传递   在调用函数时,需要向函数传递参数,被传入的参数称为实参数,而函数定义的参数称为形参。参数...

金馆长1
2015/11/28
35
0
PHP传值和传引用、传地址的区别是什么?

传值, 是把实参的值赋值给行参 那么对行参的修改, 不会影响实参的值 传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么传地址以后,实参和行参都 指向同一个对象 传...

morebetter1
2018/07/02
0
0
JavaScript基础专题之参数传递(五)

按值传递 什么是按值传递呢? 把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。 举个简单的例子: 当传递 到函数 box 中,相当于拷贝了一份 ,假设拷贝的这份...

ChrisPing
07/04
0
0
C++ 对象构造, 拷贝, 赋值和隐式类型转换总结

原文:C++ 对象构造, 拷贝, 赋值和隐式类型转换总结 作者:Breaker C++ 中对象创建(构造)、拷贝、赋值、隐式类型转换的阶段性总结 关心效率和拷贝开销,写在代码注释中 关键字:对象创建、...

晨曦之光
2012/05/23
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

手持式人证核验设备助力国家安全系统

手持式人证核验设备,是针对公共安全领域的移动化身份核验、追逃等需求推出的手持式一体化设备。其特点是具备人员信息采集、存储和比对功能,将采集到的人脸信息与居民身份证芯片中的人脸信息...

非思丸智能FaceTo
14分钟前
4
0
好程序员web前端教程分享JavaScript简写方法

今天好程序员web前端教程为大家分享JavaScript简写方法,小伙伴们快来看一看吧。 1.三元操作符 当想写if...else语句时,使用三元操作符来代替。 constx =20; let answer; if(x >10) { answer...

好程序员官网
18分钟前
4
0
PHP面试题2019年小米工程师面试题和答案解析

一、单选题(共29题,每题5分) 1.PHP面向对象方法重写描述错误的是? A、子类必须继承父类 B、子类可以重写父类已有方法 C、重写之后子类会调用父类方法 D、子类也可以具有与父类同名的属性...

一个PHP程序媛
22分钟前
3
0
K8s 从懵圈到熟练 – 镜像拉取这件小事

导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的。而镜像拉取失败,大多数情况下都和权限有关。所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单...

Mr_zebra
22分钟前
4
0
分布式锁简单入门以及实现方法

学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。 在学习或者使用Java的过程中进程会遇到各种各样的锁的...

yanlijun_java
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部