博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP函数
阅读量:5270 次
发布时间:2019-06-14

本文共 4559 字,大约阅读时间需要 15 分钟。

一、基本概念

①函数是模块化程序的产物,在实际开发过程中,将一个项目划分为各个大的功能模块,同时大的功能模块划分为小的功能,再使用函数将这个最小的功能(一个动作)实现。

②从代码上看,函数就是使用{ } ,将完成某一功能的代码括起来(封装),再使用function关键字,为这个代码设置一个名字,这个名字就是函数名,函数名后必须有(),这个()表示函数只能被调用。

二、声明语法

function funName(形参列表){

  函数体

 【return】值

}

三、函数调用:funName(实参列表)

四、函数名

①PHP中函数名是不区分大小写的,但是建议驼峰式命名

②函数名的命名规则和变量的命名规则相同,只能包含字母、数字、下划线、而且以字母或者下划线开头

"; for($row=1;$row<=10;$row++){ $tab.=""; for($col=1;$col<=10;$col++){ $tab.="数据"; } $tab.=""; } $tab.=""; echo $tab; } //函数的调用 creatTable();?>

五、可变函数

①概念:如果$a变量的值是另一个函数名,那么可以使用这个变量来访问函数

"; for($row=1;$row<=10;$row++){ $tab.=""; for($col=1;$col<=10;$col++){ $tab.="数据"; } $tab.=""; } $tab.=""; echo $tab; } //可变函数 $func='creatTable'; $func();?>

②使用场景:将收到的数据保存在一个变量中,再用可变变量动态的调用函数

"; for($row=1;$row<=10;$row++){ $tab.=""; for($col=1;$col<=10;$col++){ $tab.="数据"; } $tab.=""; } $tab.=""; echo $tab; } //在地址栏中模拟get方式传递数据,将收到的数据保存在一个变量中,再用可变变量动态的调用函数 $f=$_GET['f']; $f();?>

六、函数的参数

①形参:函数定义时的参数就是形参,形参只对内部有效,对外无效,形参是被动的接受数据

②实参:函数调用时的参数就是实参,实参主动向函数内部传递实际的数据,形参和实参让函数更具有调用性

$i=$a=10----->进入函数$i=20---->输出$i=20 //尝试访问 echo $i;?>

③形参的默认值:

  • PHP中定义函数时可以为形参赋值一个值,这个值就是形参的默认值,一般具有默认值的形参位于形参列表的最后位置
  • 如有为具有默认值的形参传递数据,那么这个形参使用实际传递过来的数据
',$v2,'
'; } $a=10; $b=20; showInfo($a,$b); echo $a,'
',$b;

④引用传值:PHP中可以在形参前加$符号,将实参之间默认的赋值传值,更改为引用传值

',$v2,'
'; } $a=10; $b=20; showInfo($a,$b); echo $a,'
',$b;?>

七、函数体:完成某一功能的代码段

八、return语句

①在使用函数完成某一些功能时,有时会将函数计算的数据传递出来,此时可以使用return

②程序是用于处理数据的,函数所处理的数据具有两个方向,其一从外到内,使用实参和形参,其二,从内到外,使用return

③函数内部可以有多个return,只要遇到一个return,就会中断函数的执行,函数内部也可以省略return语句

九、匿名函数

①没有名字的函数就是匿名函数,也称之为闭包函数,如果是匿名函数,必须以分号结尾

②JavaScript中的函数可以自调用,但是PHP中的函数没有办法自调用

③PHP中的匿名函数,可以赋值给另外一个变量

④PHP中的匿名函数还可以用于某个函数的参数,这就是回调函数callback:在实际开发中,使用别人的函数或者系统函数,函数需要传入参数,作为参数传递的函数就是回调函数

十、伪类型( 是 PHP 文档里用于指示参数可以使用的类型和值)

①mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型。说明函数返回值不是一个确定的类型。

②callback 表示回调函数

③scalar 如果是int、float、string、bool

十一、相关函数(系统函数)

①func_get_args( ) 用于获取实参,并以数组形式返回

②func_get_arg( ind) 用于获取ind小标指定的实参

③func_num_args( ) 用于获取实参的个数

'; echo '第一个实参为:',func_get_arg(0),'
'; echo '
所有的实参如下:';        print_r(func_get_args());    }    getArg(10,20,30);?>

10 [1] => 20 [2] => 30 [3] => 40 ) 100 $sum=0; for($i=0;$i

十二、函数运行的内存原理

十三、作用域

①定义:在PHP中函数是用于封装某一功能的代码段,函数在对代码进行封装会有一些影响,php中分两种作用域,全局作用域和局部作用域

②全局作用域和全局变量:在函数外部定义的变量,其作用域就是全局作用域,变量就是全局变量

③局部作用域和局部变量:在函数外部定义的变量,其作用域就是局部作用域,变量就是局部变量

④提示:默认PHP中有很清晰的作用域,外部只能访问外部的,内部只能访问内部的,这一点和JavaScript有所不同

⑤外部访问内部或者内部访问外部的方法

  • 通过参数的引用传值方式(形参前面加&符号)实现内部的局部变量访问外部的全局变量
'; } showInfo($i);//100 echo $i;//100------原本应该输出的是10,通过引用传值的方法,改变了$i的值?>
  • 通过GLOBALS可以实现内部的局部变量访问外部的全局变量

 

'; echo $GLOBALS['age'],'
'; } showInfo();//Eric 20?>
  • global关键字方法可以实现内外互访,语法是global变量名,在函数内部建立一个与函数外部同名的变量引用,如果外部没有这样的同名变量,会在外部创建一个同名的变量
'; } showName();//Eric echo $name;//Eric //global实现外部访问内部 function showAge(){ global $age; $age=20; echo $age,'
'; } showAge();//20 echo $age;//20?>

⑥常量的作用域:常量没有作用域的限制,一个脚本的常量,在任何的位置都就可以访问

⑦预定义变量(超全局变量):不受作用域的限制

十四、变量的生命周期

①作用域与生命周期:作用域表示的是一个变量的作用空间范围,生命周期表示的是一个变量的作用时间范围

②全局变量的生命周期:从脚本执行开始开始到脚本执行结束

③局部变量的生命周期:从函数执行开始到函数执行结束

十五、静态变量

①定义:在函数内部使用,static声明的变量

'; } showInfo();//2 showInfo();//3 showInfo();//4 showInfo();//5?>

②原理:静态变量在函数多次被调用同时只会被初始化一次,并且静态变量的值不会随着函数的执行而被回收

③提示:静态变量的使用场景,如果想在同一个函数多次调用时,共享一份数据

十六、日期时间函数

①time()用于获取当前时间戳,单位秒,从1970年1月1日0时0分0秒开始算起

②microtime()单位,毫秒

';//1528703394 echo microtime();//0.43992100 1528703394?>

③date()用于格式化时间信息

④mktime(时,分,秒,月,日,年),返回日期的 UNIX 时间戳。

⑤strtotime()函数将任何英文文本的日期或时间描述解析为 Unix 时间戳

';//18-06-11 16:10:18 echo date('y-m-d H:i:s',strtotime("10 September 2016")),'
';//16-09-10 00:00:00 echo date('y-m-d H:i:s',strtotime("+1 day")),'
';//18-06-12 16:10:18 echo date('y-m-d H:i:s',strtotime("+1 week")),'
';// 18-06-18 16:10:18 echo date('y-m-d H:i:s',strtotime("+1 week 2day 4 hours 2 seconds")),'
';// 18-06-20 20:10:20 echo date('y-m-d H:i:s',strtotime("next Thursday")),'
';// 18-06-14 00:00:00 echo date('y-m-d H:i:s',strtotime("last Monday")),'
';//18-06-04 00:00:00?>

⑥时区的设置

 

⑦扩展知识点:

十七、递归

①函数自己调用自己

②特点:完成一个需求有多个步骤,但完成每一步所实现的代码是相似的,只有函数所传递的参数不同而已

 

转载于:https://www.cnblogs.com/EricZLin/p/9164219.html

你可能感兴趣的文章
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
mysql 主从库同步
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
ABP入门系列(6)——定义导航菜单
查看>>
排序sort (一)
查看>>
Intent应用
查看>>
暑假周报告总结第二周
查看>>
Parrot虚拟机
查看>>
4.6上午
查看>>
linux之sort用法
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Redis-jedis模拟多线程购票
查看>>