视频,ppt,示例文件下载地址:https://s.yunio.com/2Nlwqu [密码:sdtclass]
这里对应第七节视频,先说大纲:
如何自定义函数
使用自定义函数实例操作
先引用ppt的一些话:
函数就是为了解决一些常见问题实现制作好的 “模”,PHP函数分为:系统内部函数 和 自定义函数。
函数的优越性:
控制程序设计的复杂性
提高软件的可靠性
提高软件的开发效率
提高软件的可维护性
提高程序的重用性
然后我们来讲一下内部函数,关于内部函数,可以参考php离线手册,在我的网盘里也有的下载!
函数的格式:func(val1,val2,…);
例子:date("Y-m-d")
下面举个详细例子说明下吧!
- <?php
- $a = date("Y,m,d");
- $b = date("Y年m月d日");
- $c = md5("SDT");
- echo "今天是 $a,<br>$b,<br>SDT的MD5值是:<br>$c";
- ?>
看完代码,我们来一个个解析下:
第一个语句中,date是内部函数,这个函数的意思是时间,里面的大写Y代表完整年份,小写y是二位数年份,比如现在是2013年,用大写Y是2013,小写y是13,m的大写输出是英文年份,小写输出阿拉伯数字,d的大写也是英文,小写是阿拉伯,如果都用大写,那么结果是:2013,Oct,Mon 然后我们把这个自定义函数赋给 $a 我只要echo出来,就是当前服务器的时间了!这个时间,是以当前php所在服务器的服务器时间为准!
第二个语句中,是为了说明,可以用标点符号, 或者 - 分开,也可以用中文分开!
第三个语句中:用的是内部函数 md5 加密,把sdt放入md5加密则输出一个md5值,这些都是php的内部函数,大家可以改改测试下,把sdt改为自己名字等等,看看输出的md5值,都是不一样的值,其实是一组乱码
上面这几个代码输出的结果如下图:
然后我们说说如何建立自定义函数:
使用 function 来创建一个自定义函数,格式如下:
- Function _name($val){
- ……
- }
其中,_name 是一个自定义函数名,里面的$val是一个传值,然后大括号内定义自定义函数的内容,然后我们来看看PPT文档里的一些话:
函数的命名跟自定义变量一样,只能使用 _, A~Z, a~z
一个自定义函数中的变量是局部的,函数外不生效
使用global全局变量的时候,在函数外才可使用变量(不建议)
为了放置全局变量的混乱可以使用 unset($var)删除一个变量
OK,下面我们来举例说明如有建立一个自定义函数,如何用return函数返回内部函数值,自定义函数的接收和选择性接收,function_exists() 判断函数是否存在 【那个引用返回值的,以后再讲,这一节不提】
- <?php
- //自定义函数
- function sdt() {
- echo "SDT技术网";
- };
- sdt(); //输出:SDT技术网
- //return返回函数内部直
- function sdtclass() {
- return "SDT技术网!";
- }
- $sdt = sdtclass();
- echo "<br>";
- echo $sdt; //输出:SDT技术网
- //自定义接收和选择性接收
- function _sdt($a) {
- return "SDT技术网! $a";
- }
- $sdt2 = _sdt(SDTclass);
- //SDTclass赋给了$a
- echo "<br>";
- echo $sdt2;
- //输出:SDT技术网!SDTclass
- function _sdt3($a,$b="class") {
- //$a没有赋值,$b赋值:class
- $c="$a-$b";
- return $c;
- }
- $sdt3 = _sdt3(sdt);
- //给$a赋值:sdt
- echo "<br>";
- echo $sdt3;
- //输出:sdt-class
- $sdt3_2 = _sdt3(sdt,技术网);
- //给$a赋值,并且给$b重新赋值
- echo "<br>";
- echo $sdt3_2;
- //输出:sdt-技术网
- ?>
代码看完了,注释也许看不大明白,那么我在这里讲解下:
第一个句子中:创建了一个自定义函数 sdt(),里面的自定义参数是“echo "SDT技术网"; ”,所以下面的“sdt();”是直接echo输出那个自定义函数的,
第二个句子中:用了return来返回自定义函数的内部值,然后把这个自定义函数赋给了$sdt ,当echo输出$sdt的时候,就是输出return里面的值了
第三个句子中:_sdt() 里面有一个传值,在函数外面,用“$sdt2 = _sdt(SDTclass);”把值赋给了_sdt()里的$a,所以“return "SDT技术网! $a"; ”输出的值是“SDT技术网!SDTclass”
第四个句子中:_sdt3() 里面的$b已经定义了值是class,$a-$b 赋给了 $c,return $c; ,$sdt3 = _sdt3(sdt);这一句传了一个sdt的值进来,赋给$a,也就是$a的值是sdt,$b的值是class,那么echo输出结果是:sdt-class
第五个句子中:引用第四个句子的自定义函数,$sdt3_2 = _sdt3(sdt,技术网); 引用了两个值来赋给$a和$b,原本$b有一个class的值,这里被替换掉了,替换成技术网,所以echo输出结果是:sdt-技术网
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助