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 相关文章推荐
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
php 不使用js实现页面跳转
Feb 11 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
php的sso单点登录实现方法
Jan 08 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
tp5框架无刷新分页实现方法分析
Sep 26 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如何解决无法上传大于8M的文件问题
2014/03/10 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
python中rb含义理解
2020/06/18 Python
Python与C/C++的相互调用案例
2021/03/04 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
公司市场部岗位职责
2013/12/02 职场文书
影视制作岗位职责
2013/12/04 职场文书
和平主题的演讲稿
2014/01/12 职场文书
校本教研工作方案
2014/01/14 职场文书
供货协议书范本
2014/04/22 职场文书
奠基仪式策划方案
2014/05/15 职场文书
革命电影观后感
2015/06/18 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书