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 相关文章推荐
改进的IP计数器
Oct 09 PHP
PHP 表单提交给自己
Jul 24 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP如何将XML转成数组
Apr 04 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
May 20 PHP
php封装的page分页类完整实例
Oct 18 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 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
杏林同学录(四)
2006/10/09 PHP
PHP DataGrid 实现代码
2009/08/12 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
php 浮点数比较方法详解
2017/05/05 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
Python socket编程实例详解
2015/05/27 Python
Python的re模块正则表达式操作
2016/05/25 Python
详解Python中类的定义与使用
2017/04/11 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python用户管理系统的实例讲解
2017/12/23 Python
python对excel文档去重及求和的实例
2018/04/18 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
python调用接口的4种方式代码实例
2019/11/19 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
游戏商店:Eneba
2020/04/25 全球购物
优秀学生自我鉴定范例
2013/12/18 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang