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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
php生成略缩图代码
Jul 16 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
解决php表单重复提交实现方法
Sep 29 PHP
教大家制作简单的php日历
Nov 17 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
Laravel学习教程之路由模块
Aug 18 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
Grid得到选择行数据的方法总结
2011/01/17 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
zbar解码二维码和条形码示例
2014/02/07 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python list元素为tuple时的排序方法
2018/04/18 Python
Python3中详解fabfile的编写
2018/06/24 Python
wxPython的安装与使用教程
2018/08/31 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
Python整数对象实现原理详解
2019/07/01 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python调用Redis的示例代码
2020/11/24 Python
苹果音乐订阅:Apple Music
2018/08/02 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
专科应届生求职信
2013/11/24 职场文书
暑期社会实践方案
2014/02/05 职场文书
法制宣传月活动总结
2014/04/29 职场文书
数学系毕业生求职信
2014/05/29 职场文书
售房委托书
2014/08/30 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Python 全局空间和局部空间
2022/04/06 Python