php高级编程-函数-郑阿奇


Posted in PHP onJuly 04, 2011

1.php函数
1.用户自定义函数

function 函数名字([$parameter,[,…]]) 
{ 
//函数代码 
}

注意:函数名不能与系统函数或用户已经定义的函数重名。
$parameter为函数参数,函数一般可以有0个或多个参数,
2.参数的传递
参数是通过值来传递的,例如前面定义func()函数是通过变量$a和$b的值传递的。通过值传递参数不会因为函数内部参数值的变化而改变函数外部的值。
<?php 
function color(&$col) //定义函数color() 
{ 
$col="yellow"; 
} 
$blue="blue"; 
color($blue); //调用函数color(),参数使用变量$blue 
echo $blue; //输出"yellow" 
?>

3.函数变量的作用域
在主程序定义的变量和在函数中定义的变量都是局部变量。在函数中定义的变量只能在函数内部使用。在主程序中定义的变量
只能在主程序中使用,而不能在函数中使用。
<?php 
function sum() 
{ 
$count=2; 
} 
sum(); 
echo $count; 
?>

由于函数中的变量无法作用于函数外部,所以上面运行时出错,提示$count变量未定义。
4.函数的返回值
函数声明时,在函数代码中使用return 语句可以立即结束函数的运行,程序返回到时调用该函数的下一条语句。
<?php 
function my_function($a=1) 
{ 
echo $a; 
return; //结束函数的运行,下面的语句将不被运行 
$a++; 
echo $a; 
} 
my_function(); //输出1 
?>

中断函数并不是return语句常用的功能,许多函数使用return语句返回一个值来与调用它们的代码进行交互。<FONT color=#c0504d>函数的返回值可以是任何类型,包括列表对象</FONT>
5.函数的调用
在函数声明后可以被调用了,另外函数如果没有返回值,调用进使用函数名即可。如果函数具有返回值,则可以将函数的返回值赋给一个变量。
//对一个数组进行升序排序的函数my_sort() 
function my_sort($array) 
{ 
for($i=0;$i<count($array);$i++) 
{ 
for($j=$i+1;$j<count($array);$j++) 
{ 
if($array[$i]>$array[$j]) 
{ 
$tmp=$array[$j]; 
$array[$j]=$array[$i]; 
$array[$i]=$tmp; 
} 
} 
} 
return $array; 
} 
$arr=array(6,4,7,5,9,2); //未排序的数组 
$sort_arr=my_sort($arr); //将排序后的数组赋给$sort_arr 
foreach($sort_arr as $num) 
echo $num; //输出245679 
?>

6.递归函数
php支持递归函数,递归函数就是自己调用自已,可以实现循环的作用。
求10!
例如:
<?php 
function factorial($n) 
{ 
if($n==0) 
return 1; //如果$n为0则返回1 
else 
return $n*factorial($n1); //递归调用,直到$n等于0为止 } 
echo factorial(10); //输出3628800 
?>

使用递归一事实上要给出递归终止条件,否则函数将一直执行下去直到内存耗尽,或达到最大调用次数。
使用递归一事实上要给出递归终止条件,否则函数将一直执行下去直到内存耗尽,或达到最大调用次数。
7.变量函数
php有函数变量这个概念,在变量的后面加上一对小括号就构成一个变量函数。
$count();
8.系统函数
9.实例-设计一个计算器程序
<html> 
<head> 
<title>计算器程序</title> 
</head> 
<body> 
<form method=post> 
<table> 
<tr><td><input type="text" size="4" name="number1"> 
<select name="caculate"> 
<option value="+">+ 
<option value="-">- 
<option value="*">* 
<option value="/">/ 
</select> 
<input type="text" size="4" name="number2"> 
<input type="submit" name="ok" value="计算"> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html> 
<?php 
function cac($a, $b, $caculate) //定义cac函数,用于计算两个数的结果 
{ 
if($caculate=="+") //如果为加法则相加 
return $a+$b; 
if($caculate=="-") //如果为减法则相减 
return $a-$b; 
if($caculate=="*") //如果为乘法则返回乘积 
return $a*$b; 
if($caculate=="/") 
{ 
if($b=="0") //判断除数是否为0 
echo "除数不能等于0"; 
else 
return $a/$b; //除数不为0则相除 
} 
} 
if(isset($_POST['ok'])) 
{ 
$number1=$_POST['number1']; //得到数1 
$number2=$_POST['number2']; //得到数2 
$caculate=$_POST['caculate']; //得到运算的动作 
//调用is_numeric()函数判断接收到的字符串是否为数字 
if(is_numeric($number1)&&is_numeric($number2)) 
{ 
//调用cac函数计算结果 
$answer=cac($number1,$number2,$caculate); 
echo "<script>alert('".$number1.$caculate.$number2."=".$answer."')</script>"; 
} 
else 
echo "<script>alert('输入的不是数字!')</script>"; 
} 
?>
PHP 相关文章推荐
在线竞拍系统的PHP实现框架(一)
Oct 09 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
php5.3 注意事项说明
Jul 01 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
开启PHP的伪静态模式
Dec 31 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 #PHP
php 目录与文件处理-郑阿奇(续)
Jul 04 #PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 #PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
Jul 04 #PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 #PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 #PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 #PHP
You might like
php基础教程 php内置函数实例教程
2012/08/21 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
微信小程序实现多张图片上传功能
2020/11/18 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
Python中的Numpy入门教程
2014/04/26 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
详解python破解zip文件密码的方法
2020/01/13 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
党校自我鉴定范文
2013/10/02 职场文书
三字经教学反思
2014/04/26 职场文书
求职信结尾怎么写
2014/05/26 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
Python中request的基本使用解决乱码问题
2022/04/12 Python
MySql数据库触发器使用教程
2022/06/01 MySQL
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js