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 相关文章推荐
不用GD库生成当前时间的PNG格式图象的程序
Oct 09 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
PHP 验证登陆类分享
Mar 13 PHP
php文件读取方法实例分析
Jun 20 PHP
php三元运算符知识汇总
Jul 02 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
php如何连接sql server
Oct 16 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 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/11/25 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php 代码优化之经典示例
2011/03/24 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
jquery插件之easing使用
2010/08/19 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
详细讲解Python中的文件I/O操作
2015/05/24 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
高中自我评价分享
2013/12/05 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
学校教研活动总结
2014/07/02 职场文书
爱情保证书
2015/01/17 职场文书
通报表扬范文
2015/01/17 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
canvas 中如何实现物体的框选
2022/08/05 Javascript