php学习之function的用法


Posted in PHP onJuly 14, 2012

1,申明函数
在PHP中,定义函数的方法同其他编程语言几乎一样.下面是PHP申明函数的语法结构:

Function function_name($argument1,$argument2,$argument3,......$argumentn) 
{ 
//函数代码code 
Return 返回值; 
}

以上语法结构中,关键字的含义如下.
(1)function:用于申明用户自定义函数的关键字.
(2)function_name:要创建的函数名称.该名称将在以后被调用时使用.函数名应该唯一,因为PHP不支持重载.在命名函数的时候,需要遵循和变量命名
相同的原则.但是函数名不能以$开头,而变量可以.
(3)argument:要传递给函数的值.函数可以有多个参数,它们之间用逗号.但是参数项是可选的,可以在调用函数的时候不传递任何参数.
(4)code:是在函数被调用的时候执行的一段代码.如果有两条或者多条语句,则代码必须用大括号"{}"括起来.但是,如果只有一条代码,则不需要大括号.
(5)Return:将调用的代码需要的值返回.任何类型都可以返回,包括列表和对象.这导致函数立即结束它的运行,并且将控制权传递回它被调用的行.
2,无参数函数
代码func_1.php
<?php 
require 'a.php'; 
echo "我不会被执行!"; 
?>

3,有参数函数
PHP支持按值传递参数(默认),通过引用传递和默认参数值.可变长度参数列表仅在PHP4和后继版本中被支持.
(1)值传递参数.按值进行参数传递是PHP的默认传递方式.使用这个方法,必须在主程序调用时传递一个值(参数).
代码sum.php
<?php 
function sum ($a,$b) 
{ 
Echo $a+$b; 
} 
sum(100,20); //开始调用该函数 
?>

(2)引用参数.在按照值传递的时候,只有参数的副本传递给被调用的函数.但是在被调用函数内部对这些值的任何修改,都不会影响调用函数
中的原始值.引用传递其实也就是地址传递,将一个变量的地址作为参数传递.
代码valuechange.php
<?php 
$myNum=100; 
function Valuechange ($number) 
{ 
$number=$number+1; 
Echo $number . "<br>"; 
} 
Valuechange($myNum); 
Echo $myNum; 
?>

(3)默认值参数.使用默认的参数值传递方法,函数必须在调用的时候有一个参数.如果没有使用的值,就把默认值传递给函数参数.默认值必须是常量表达式,不是变量,
类成员或者函数调用.
提示:当使用默认参数时,任何默认参数必须放在非默认参数的右侧;否则,可能函数不会按照预期的情况工作.
代码func_default.php
<?php 
$myNum=100; 
function Valuechange ($number) 
{ 
$number=$number+1; 
Echo $number . "<br>"; 
} 
Valuechange($myNum); 
Echo $myNum; 
?>
PHP 相关文章推荐
用来给图片加水印的PHP类
Apr 09 PHP
php 字符转义 注意事项
May 27 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
Jun 05 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
Yii操作数据库的3种方法
Mar 11 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PHP中md5()函数的用法讲解
Mar 30 PHP
PHP程序守护进程化实现方法详解
Jul 16 PHP
php 操作调试的方法
Jul 12 #PHP
php输出xml格式字符串(用的这个)
Jul 12 #PHP
php长字符串定义方法
Jul 12 #PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 #PHP
PHP中extract()函数的妙用分析
Jul 11 #PHP
Zend Framework中的简单工厂模式 图文
Jul 10 #PHP
工厂模式在Zend Framework中应用介绍
Jul 10 #PHP
You might like
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
express.js中间件说明详解
2019/03/19 Javascript
js实现时钟定时器
2020/03/26 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
原生JavaScript实现换肤
2021/02/19 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
matplotlib绘制动画代码示例
2018/01/02 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
python代码编写计算器小程序
2020/03/30 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
会计求职信怎么写
2015/03/20 职场文书
秋菊打官司观后感
2015/06/03 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android