开发者社区> php码农> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

函数(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() 当引入重复函数库时不会报错

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Function(函数)
Function(函数)
0 0
报错:loaderContext.getResolve is not a function
报错:loaderContext.getResolve is not a function
0 0
$.countdown is not a function
$.countdown is not a function
0 0
C++11 function使用
function是一组函数对象包装类的模板,实现了一个泛型的回调机制。 引入头文件 #include using namespace std;using namespace std::placeholders;  //bind的时候会用` 参考:http://www.
797 0
new Function()
原文链接: new Function() 原文日期: 2014年3月2日翻译日期: 2014年3月14日 翻译人员: 铁锚 JavaScript的精神领袖Douglas Crockford曾说过JavaScript是程序员唯一不需要学习就能直接使用的语言. 在编程中确实是如此。
536 0
(function(){}})(); and (function(){}());的区别?
<div> (function(){})()这个语句,其实是首先用分组运算符评估了一个函数表达式,随后参与“函数调用”。而(function(){}())这个语句,则是用分组运算符评估了一个函数调用,随后由于语句的结束而被执行<br> 功能上2个是一样的 </div>
826 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载