函数(FUNCTION)

简介: 函数指完成某个功能的代码模块。PHP函数具有不支持重载,即自定义函数名不能以内置函数名相同、代码结构清晰,可重复多次调用、函数没调用时不执行、可以动态调用函数,即使用变量的值作为函数名等特点。
#动态调用函数实例
function abc(){
   echo "动态调用函数";
}
$n="abc";
$n();//输出 动态调用函数

函数分类

1、内置函数: php预定义的功能函数。
2、自定义函数:程序员自己定义的功能函数。

命名规范

1、字母或下划线开始,中间可包含数字
2、不区分大小写,但建议在调用时保持与定义时一致。

函数语法

function 函数名(参数1,参数2,,参数3,...){
     //功能代码
     return  //返回结果,后面一切代码都不再执行。
}

调用函数

1、不传参调用,函数名();
2、传参数调用, 函数名(参数1,参数2,…);

/**
 *设置的参数必须传值,否则报错,
 *一般传空字符串,避免此类错误。
 */
function name($a,$b,$c){//错误实例
    return $d=$a.$b.$c;
}
echo name('a','b',);

function name($a,$b,$c){//正确实例
    return $d=$a.$b.$c;

}
echo name('a','b',‘’);

递归函数

重复调用自身的函数,直到满足某个条件为止,注意条件避免死循环。

/**
 *应用实例:阶乘
 */
function jc($i){
    if($i==0||$i==1){
        return 1;
    }
    return $i*jc($i-1);
}
/**
 *应用实例:累加
 */
function sum($a){
    if($a==1){
        return 1;
  }
    return $a+sum($a-1);
}

扩展知识

function test(){
    echo 'abc';
}
function test2(){
    return 'abc';
}
echo '123'.test();    //结果:abc123 
echo '123'.test2();  //结果:123abc 

变量作用域与生命周期

变量作用的范围,分为局部变量和全局变量以及静态变量。

变量作用域 作用范围 生命周期
局部变量 函数内部 从声明变量到函数结束
全局变量 整个脚本,在函数体中需要使用全局变量,使用 global 关键字访问 从声明开始到文件结尾
静态变量 在函数退出时不会丢失值,并且再次调用函数时还能保留这个值;使用 static 关键字声明静态变量;

函数库的四种引用方式

函数库指多个功能函数的集合文件。

引用函数库的方式 说明
include() 当引入函数库文件里的代码执行报错时,不会立即停止代码执行
include_once() 当引入重复函数库时不会报错
require() 当引入函数库文件里的代码执行报错时,会立即停止代码执行
require_once() 当引入重复函数库时不会报错
目录
相关文章
|
8月前
|
人工智能 Python
083_类_对象_成员方法_method_函数_function_isinstance
本内容主要讲解Python中的数据类型与面向对象基础。回顾了变量类型(如字符串`str`和整型`int`)及其相互转换,探讨了加法在不同类型中的表现。通过超市商品分类比喻,引出“类型”概念,并深入解析类(class)与对象(object)的关系,例如具体橘子是橘子类的实例。还介绍了`isinstance`函数判断类型、`type`与`help`探索类型属性,以及`str`和`int`的不同方法。最终总结类是抽象类型,对象是其实例,不同类型的对象有独特运算和方法,为后续学习埋下伏笔。
184 7
083_类_对象_成员方法_method_函数_function_isinstance
|
8月前
|
Python
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
222 17
|
8月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
225 11
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新特性,与传统函数相比,它有更简洁的语法,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。箭头函数不适用于构造函数,不能使用new关键字调用。
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
679 1
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
168 0
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新语法,相比传统函数表达式更简洁,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。这使得箭头函数在处理回调和闭包时更加灵活方便。
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
144 3
|
C++ 容器
函数对象包装器function和bind机制
函数对象包装器function和bind机制
150 0

热门文章

最新文章