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桌面中心(二) 数据库写入
Mar 11 PHP
php中的实现trim函数代码
Mar 19 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
Apr 03 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
Oct 19 PHP
PHP sprintf()函数用例解析
May 18 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
PHP convert_uudecode()函数讲解
Feb 14 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
JavaScript 调试器简介
2009/02/21 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
python实现两张图片的像素融合
2019/02/23 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python 中如何获取列表的索引
2019/07/02 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
Python如何避免文件同名产生覆盖
2020/06/09 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
python压包的概念及实例详解
2021/02/17 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
工伤事故赔偿协议书
2014/10/27 职场文书
2014小学年度工作总结
2014/12/20 职场文书
写给领导的感谢信
2015/01/22 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang
nginx日志格式分析和修改
2022/04/28 Servers
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技