长春seo整站优化,网站关键词标题怎么写,公司网站建设 做账,惠州技术支持网站建设1、什么是函数#xff1f;
函数#xff0c;在英文中的单词是function#xff0c;这个词语有功能的意思#xff0c;也就是说#xff0c;使用函数就是在编程的过程中#xff0c;实现一定的功能。即函数就是实现一定功能的一段特定代码。
在前面的教学中#xff0c;我们已…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// 定义一个函数
function myfun($a, $b) {$sum $a $b;$product $a * $b;// 返回求和和求积的结果作为数组return array($sum, $product);
}// 调用myfun()函数并输出结果
$results myfun(10, 20);
echo 求和计算结果是: . $results[0] . br;
echo 求积的计算结果是: . $results[1];?以上代码在PHP8中的运行结果为
求和计算结果是: 30
求积的计算结果是: 2004、函数中的变量作用域
所谓 变量作用域是指特定变量在代码中可以被访问到的位置。在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; //定义全局变量
function xuexi() { // 定义一个函数
echo 正在学习的是: .$a; //函数内调用全局变量
}
xuexi(); //运行函数
?在PHP8中运行的结果为
Warning: Undefined variable $a in D:\phpenv\www\localhost\test.php on line 4
正在学习的是:上面内容明显是异常信息如果想让函数访问某个全局变量可以在函数中使用global关键字来声明。
使用global关键字访问全局变量示例代码
?php
$a PHP; //定义全局变量
function xuexi() { // 定义一个函数
global $a; //函数内声明全局变量
echo 正在学习的是: .$a; //函数内调用全局变量
}
xuexi(); //运行函数
?在PHP8中运行的结果为
正在学习的是: PHP也可以使用超全局变量中的$GLOBALS数组进行访问。
使用$GLOBALS数组进行访问全局变量示范代码
?php
$a PHP8; //定义全局变量
function xuexi() { // 定义一个函数
$a $GLOBALS[a]; //通过$GLOBALS数组访问全局变量
echo 正在学习的是: .$a; //函数内调用全局变量
}
xuexi(); //运行函数
?在PHP8中运行的结果为
正在学习的是: PHP83、静态变量
静态变量只是在函数内存在函数外无法访问。但是执行以后其值会保留。
也就是说这一次执行完毕以后这个静态变量的值保留下一次执行此函数这个值还可以调用。
当在 PHP 8 中使用静态变量时您可以在函数内部声明一个变量并在后续的调用中保持其值不变。这样做可以在多次函数调用之间共享数据。
以下是一个示例代码
?php
function increment() {static $counter 0;$counter;echo Counter value: . $counter . br;
}increment();
increment();
increment();
?以上代码在PHP8中运行的结果为
Counter value: 1
Counter value: 2
Counter value: 3在上面的代码中我们定义了一个名为 $counter 的静态变量并初始化为 0。每当 increment() 函数被调用时该变量都会自增并输出当前计数器的值。
由于 $counter 是一个静态变量在函数调用之间它的值得以保持和共享。因此每次调用 increment() 都会使计数器递增。