PHP函数用法详解【初始化、嵌套、内置函数等】

2022-04-15 0 402
目录
  • 函数的基本语法格式
  • 参数设置
  • 变量的作用域
  • 嵌套调用
  • 递归调用
  • 1. 静态变量
    • 变量的作用域
  • 2.可变函数
    • 3.回调函数
      • 4. 匿名函数
        • 字符串函数
          • 数字函数
            • 时间日期函数

              本文实例讲述了PHP函数用法。分享给大家供大家参考,具体如下:

              初始函数

              • 函数:封装一段用于完成特定功能的代码。

              • 通俗理解函数:可以完成魔鬼工作的代码块,就像积木一样,可以反复使用,在使用的时候,拿来即用。

              • 函数定义:1)内置函数(字符串操作函数、数组操作函数)2)自定义函数

              函数的基本语法格式

              	function 函数名([参数1.参数2,......]){
              		函数体......
              	}
              
              • 函数的定义由一下四部分组成:
                • 关键字function
                  function: 在声明函数时必须使用的关键字;
                • 函数名functionName
                  函数名: 要符合PHP的标识符,且函数名是唯一的,不区分大小写
                • 参数
                  [参数1,参数2…]: 在外界传递给函数的值,他是可选的,多个参数之间使用逗号“,”分隔。
                • 函数体
                  函数体: 函数定义的主体,专门用于实现特定的代码段。
                  返回值: 需要使用return关键字将需要返回的数据传递给调用者。

              参数设置

              对于函数来说,参数的不同设置,决定了其调用和使用方式

              • 无参函数

                PHP函数用法详解【初始化、嵌套、内置函数等】

              • 按值传递参数
                PHP函数用法详解【初始化、嵌套、内置函数等】
                PHP默认支持按值传递参数,按此种方式定义的函数,在函数内部可以睡衣对用户传递的参数进行操作。

              • 引用传参
                PHP函数用法详解【初始化、嵌套、内置函数等】 在开发中,若需要函数修改它的参数值,则需要通过函数的引用传递。实现方式只需要在参数中前添加“&”符号即可。

              • 设置参数默认值
                PHP函数用法详解【初始化、嵌套、内置函数等】
                函数参数在设置时,还可以为其指定默认值,也就是可选参数。当调用者未传递该参数时,函数将使用默认值进行操作。
                当使用默认参数时,默认参数必须放在非默认参数的右侧,否则函数可能出错。
              • 指定参数类型(弱)
                PHP函数用法详解【初始化、嵌套、内置函数等】
                在PHP 7.0及以上的版本后,在自定义函数时,可以指定参数具体时那种数据类型
                当用户调用函数时,如果传递参数不是int类型。程序传递的参数不是int类型,程序会将其强制的转换为int型后,在进行操作,这种方式称为弱类型参数设置。
              • 指定参数类型(强)
                PHP函数用法详解【初始化、嵌套、内置函数等】
                除此之外,还可以将其设置为强类型的参数,即当用户传递的类型不符合函数的定义,程序会报错提醒。

              变量的作用域

              变量在定义后,默认情况下,可以在函数中使用,函数外不可以。

              • 变量只有在其作用范围内才可以被使用,这个作用范围称为变量的作用域。
              • 在函数中定义的变量称为局部变量
              • 在函数外定义的变量称为全局变量
              function test (){
              		$sum = 36; //局部变量
              		return $sum;
              }
              $sum = 0;	//全局变量
              echo text();	//输出结果:36
              echo $sum;	//输出结构:0
              

              那么如何在函数中使用全局变量呢?
              答:参数传递,global关键字和超全局变量$GLOBALS。

              $snap = 'nihao';
              function abc(){
               global $snap;//全局变量的关键词,通常加在变量前。引用全局变量
               return $GLOBALS['snap'];//引用外部变量。定义全局变量
              }
              echo abc();
              

              函数的嵌套调用

              嵌套调用

              函数的嵌套调用: 指的是在调用一个函数的过程中,调用另外一个函数,这种在函数内调用其它函数的方式称为嵌套调用。

              递归调用

              递归调用: 是函数嵌套调用中一种特殊的调用。它指的是一个函数在其函数体内调用自身的过程,这种函数成为递归函数

              函数的高级应用

              1. 静态变量

              轻松得到函数被访问的次数,一是在函数中使用全局变量记录,缺点是全局变量可随时子啊函数外被改变,不能准确的记录;二是在函数中使用静态变量。
              PHP函数用法详解【初始化、嵌套、内置函数等】

              变量的作用域

              • 局部变量: 在函数的内部定义的变量,其作用域是所在函数
              • 全局变量: 被定义在所有函数以外的变量,其作用域是整个PHP文件,但在用户自定义函数内部是不可用的。如果希望在用户自定义函数内部使用全局变量。则要使用global关键字声明
              • 静态变量: 能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值,而一般变量在函数调用结束后,其存储的数据值将被清除,所占的内存空间被释放。使用静态变量时,先要用static来声明变量,把关键字static放在要定义的变量之前。

              2.可变函数

              可变函数: 可变变量,他的实现是在一个变量前添加一个“¥符号”,就变成了另外一个变量。同理,可变函数的实现就是在一个变量名后添加一对圆括号“()”,让其变成一个函数的形式,然后PHP就寻找与变量值同名的函数,并且尝试执行它

              3.回调函数

              回调函数: 指的就是具有callable类型的函数,一般用作参数的传递。如PHP内置函数call_user_func()可以接受用户自定义的回调函数作为参数。

              4. 匿名函数

              匿名函数: 就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无需考虑函数命名冲突的问题

              php的内置函数

              • 字符串函数

                字符串函数是PHP用来操作字符串的内置函数,在实际开发中有着非常重要的作用PHP函数用法详解【初始化、嵌套、内置函数等】

                • 截取给定路径中的字符串
              $url = 'C:\web\apache2.4\htdocs\cat.jpg';
              $pos = strrpos($url, '\\');
              // 截取文件名称,输出结果:cat.jpg
              echo substr($url, $pos + 1);
              // 截取文件所在的路径,输出结果:C:\web\apache2.4\htdocs
              echo substr($url, 0, $pos);
              
              strrpos()函数用于在$url中获取“\”最后一次出现的位置$pos。
              substr()函数的第1个参数表示待截取的字符串,第2个参数表示开始截取的位置,非负数表示从字符串指定位置处截取,从0开始;负数表示从字符串尾部开始。第3个参数表示截取的长度。
              substr()函数的第3个参数表示截取的长度,该长度的设置具体有以下4种情况。
              省略第3个参数时,将返回从指定位置到字符串结尾的子字符串。
              第3个参数为正数,返回的字符串将从指定位置开始,最多包含指定长度的字符,这取决于待截取字符串的长度。
              第3个参数为负数,返回的字符串中在结尾处将有个指定长度的字符被省略。
              第3个参数为0、false或null,将返回一个空字符串。
              
              • 替换指定位数的字符
                替换指定位数的字符,在开发也是很常见的功能。例如,在各种抽奖环节中,为了保证用户的隐私,出现的手机号一般使用“*”将第4至7位的数字进行覆盖
              $tel = '18810881888';		 // 随意输入一串数字作为手机号
              $len = 4; 			// 需要覆盖的手机号长度
              $replace = str_repeat('*', $len); 	// 根据指定长度设置覆盖的字符串
              echo substr_replace($tel, $replace, 3, $len);	// 输出结果: 188****1888
              

              str_repeat()函数用于对“*”字符重复 l e n 次 。 s u b s t r r e p l a c e ( ) 函 数 用 于 对 字 符 串 len次。substr_replace()函数用于对字符串” role=”presentation” style=”position: relative;”> len次。substrreplace()函数用于对字符串 len次。substrr​eplace()函数用于对字符串tel中第3个位置开始后的 l e n 长 度 的 字 符 使 用 len长度的字符使用” role=”presentation” style=”position: relative;”> len长度的字符使用 len长度的字符使用replace进行替换。

              • 数字函数

                为了方便开发人员处理程序中的数学运算,PHP内置了一系列的数学函数,用于获取最大值、最小值、生成随机数等常见的数学运算。
                PHP函数用法详解【初始化、嵌套、内置函数等】

              echo ceil(5.2);	// 输出结果:6
              echo floor(7.8);	// 输出结果:7 
              echo rand(1, 20);	// 随机输出1到20间的整数
              

              ceil()函数是对浮点数5.2进行向上取整,
              floor()函数是对浮点数进行向下取整,
              rand()函数的参数表示随机数的范围,第1个参数表示最小值,第2参数表示最大值。

              • 时间日期函数

                在使用PHP开发Web应用程序时,经常会涉及日期和时间管理。
                例如倒计时、用户登录时间、新闻发布时间、购买商品时下订单的时间等。
                为此,PHP提供了内置的日期和时间处理函数,满足开发中的各种需求。
                PHP函数用法详解【初始化、嵌套、内置函数等】
                Unix时间戳是一种时间的表示方式,它是为了解决编程环境中时间运算的问题。

                Unix时间戳(Unix timestamp): 定义了从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,以32位二进制数表示。

              echo time();			// 输出结果:1487666317
              echo mktime(0, 0, 0, 2, 21, 2017);	// 输出结果:1487606400
              echo strtotime('2017-2-21');	// 输出结果:1487606400
              echo microtime();			// 输出结果:0.04142600 1487666098
              echo microtime(true);		// 输出结果:1487666098.0414
              

              time()函数用于获取当前时间的Unix时间戳,
              mktime()和strtotime()函数可将给定的日期时间转换成Unix时间戳,前者的参数分别表示“时分秒月日年”,后者可以是任意时间的字符串。
              函数microtime()用于获取当前Unix时间戳和微秒数,不设置参数时,返回值的形式前面一段数字表示微妙数,后面一段数字表示秒数;设置参数时,小数点前表示秒数,小数点后表示微秒数。

              格式化时间戳: 对于用户来说,时间戳的直接输出,会让其看到一个毫无意义的整型数值。为了将时间戳表示的时间以友好的形式显示出来,可以对时间戳进行格式化。

              echo date('Y-m-d H:i:s');		// 输出结果:2017-02-21 16:48:16
              echo date('Y-m-d', 1487666317);	// 输出结果:2017-02-21
              

              date()函数第1个参数表示格式化日期时间的样式
              date()函数第2个参数表示待格式化的时间戳,省略时表示格式化当前时间戳。
              PHP函数用法详解【初始化、嵌套、内置函数等】
              PHP函数用法详解【初始化、嵌套、内置函数等】

              更多关于PHP相关内容感兴趣的读者可查看本站专题

              免责声明:
              1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

              2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
              如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
              如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

              NICE源码网 PHP编程 PHP函数用法详解【初始化、嵌套、内置函数等】 https://www.niceym.com/15516.html