竹笋

首页 » 问答 » 环境 » PHP8中自定义函数PHP8知识详解
TUhjnbcbe - 2023/9/12 21:14:00
北方乌发口服液能不能治脸部白癜风 https://myyk.familydoctor.com.cn/2831/newslist_7_1.html

1、什么是函数?

函数,在英文中的单词是function,这个词语有功能的意思,也就是说,使用函数就是在编程的过程中,实现一定的功能。即函数就是实现一定功能的一段特定代码。

在前面的教学中,我们已经学习到了函数的使用了,比如,使用define()函数定义一个常量。在这里我们来讲解自定义函数。

任何有效的php代码都有可能出现在函数内部,甚至包括其它函数和类定义。

函数名和PHP中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。可以用正则表达式表示为:^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$。

PHP中的所有函数和类都具有全局作用域,可以定义在一个函数之内而在之外调用,反之亦然。

PHP不支持函数重载,也不可能取消定义或者重定义已声明的函数。

2、什么是自定义函数?

自定义函数是一种在编程中创建的用户自定义的功能代码块。它们允许程序员定义自己的函数,并根据需要在程序中调用它们。自定义函数可以接收参数,执行特定的任务,并返回一个值。

通过使用自定义函数,程序员可以将复杂的任务分解为更小的可重用代码块,提高代码的可读性和可维护性。自定义函数是编程中常用的概念,几乎在所有的编程语言中都有支持。在PHP8中也不例外。

3、定义和调用函数

一般情况下,程序员面对的是自定义函数。其语法结构如下:

function函数名称(参数1,参数2,……){函数的具体内容;}

函数定义完成以后,即可调用这个函数。调用函数的操作比较简单,直接引用函数名并赋予正确的参数,即可完成函数的调用。

?php//定义一个函数functionmyfun($a,$b){$sum=$a+$b;$product=$a*$b;//返回求和和求积的结果作为数组returnarray($sum,$product);}//调用myfun()函数并输出结果$results=myfun(10,20);echo"求和计算结果是:".$results[0]."br";echo"求积的计算结果是:".$results[1];?

以上代码在PHP8中的运行结果为:

求和计算结果是:30求积的计算结果是:

4、函数中的变量作用域

所谓变量作用域,是指特定变量在代码中可以被访问到的位置。在PHP8中,有6种基本变量作用域法则:

一、内置超全局变量。在代码中任意位置都能访问的变量。

二、常数。一旦声明,他就是全局性的,可以在函数的内外使用。

三、全局变量。在代码声明中,可以爱代码中访问,但是不能在函数内部访问。

四、在函数中声明为全局变量的变量。就是同名的全局变量。

五、在函数中创建和声明为静态变量的变量。该变量在函数外是无法访问的,但是这个静态变量的值是可以保留的。

六、在函数中创建和声明的局部变量。在函数外是无法访问的,并且在本函数终止时终止并推出。

4.1、超全局变量

PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行global$variable;就可以访问它们。

这些超全局变量是:

$GLOBALS:它是一个包含了当前脚本中所有全局变量的数组。

$_SERVER:它是一个包含了服务器和执行环境信息的数组,如HTTP请求头、路径等。

$_GET:它是一个包含通过GET方法传递给当前脚本的参数和值的数组。

$_POST:它是一个包含通过POST方法传递给当前脚本的参数和值的数组。

$_FILES:它是一个包含上传文件的相关信息的数组,包括文件名、类型、大小等。

$_COOKIE:它是一个包含客户端发送的Cookie的相关信息的数组。

$_SESSION:它是一个包含用户会话数据的数组,用于存储特定用户在不同页面之间共享的数据。

$_REQUEST:它是一个包含了通过HTTP请求方法(GET、POST和COOKIES)传递给当前脚本的参数和值的数组。

$_ENV:它是一个包含环境变量的数组,这些变量是由操作系统或web服务器设置的。

请注意,对这些超全局变量进行直接引用可能存在安全性和可靠性问题。在使用时,请确保验证和过滤来自用户的输入以防止潜在的安全漏洞。

4.2、全局变量

全局变量就是在函数外声明的变量,在代码中可以访问,但是在函数内部是不能访问的。这是因为函数默认就不能访问起外部的全局变量。

函数内访问全局变量示范代码:

?php$a="PHP";//定义全局变量functionxuexi(){//定义一个函数echo"正在学习的是:".$a;//函数内调用全局变量}xuexi();//运行函数?

在PHP8中运行的结果为:

Warning:Undefinedvariable$ainD:\phpenv\

1
查看完整版本: PHP8中自定义函数PHP8知识详解