基本函数知识点

基本函数知识点,第1张

前两天讲了PHP基础知识的判断条件和流程控制。今天我讲讲PHP基础知识的基本介绍——函数

1.函数的声明和使用。函数名是标识符之一,只能用数字和字母加下划线,不能以数字开头。

函数名必须符合 # 34;小驼峰规则 # 34;:我的名字是小溪

函数名不区分大小写。可以使用Func函数。

函数名不能与现有函数名或系统函数名相同。

2、function _ exists( # 34;func1 # 34);用于检测函数是否已声明;

注意:传入的函数名必须是字符串格式:返回结果为true/false。

二、PHP中变量的范围

1.局部变量:在函数内部声明的变量称为局部变量。只能在函数内部使用,需要在函数外部使用。需要在函数中使用return关键字返回。

2.全局变量:声明函数之外的变量称为全局变量。

3.在函数中,使用变量,默认使用内部局部变量。如果需要在函数中使用全局变量,需要使用global关键字引用函数后才能使用。

函数中的变量名,如果与全局变量重复,则是全局语句之上的函数的局部变量;在全局语句下,它是系统全局变量。

4.$GLOBALS[]全局数组:

$GLOBALS[]数组是PHP内置的全局数组。您可以直接向数组中添加值,并且无论是在函数内部还是外部声明,您都可以在任何地方使用它。

$ GLOBALS[ # 34;一 # 34;] = 10;- gt;echo $ GLOBALS[ # 34;一 # 34;];//在任何地方都可以直接使用

5.在函数中使用全局变量还有另一种方法:通过向函数传递参数,可以在函数内部使用全局变量;

但传递的参数是函数的局部变量,内部变化,外部不变。

除非传递的参数是地址函数func($a1,$a2){} //如果内部函数修改a2,全局a1不会变,但是全局a2会变。

如果函数的形参有地址符号,那么在调用函数时,实参必须是变量,而不是字面量。

6.包含require和include不会影响范围。

三。静态变量

1.静态变量是使用static关键字声明的。静态$ num = 10

2.静态变量的特征:

gt gt gt静态变量是在函数第一次加载时声明的。

gt gt gt静态变量不会在函数用完之后立即释放,在整个脚本执行过程中只会声明一次。

gt gt gt同一个函数被多次调用,共享同一个静态变量。

四。函数的参数传递1。在PHP中,涉及参数传递时:实际参数列表只能多于形参,

2.例程参数传递:函数func($ a){ } func($ a);

3.传递引用参数:func func( $ a){ } func($ a);

①传递 reference参数,在函数内修改变量,在函数外同步改变。

②形参是引用参数,实参只能是变量,不能是文字func(10);×

4.默认参数:函数func ($ b,$ a = 10){ } func(20);

//如果是$,可以不去管。默认值为10;必须传递$b,否则在使用时不会定义错误。

如果参数中既有默认参数又有非默认参数,则默认参数列表

后面必须跟非默认参数列表,即调用时必须保证非默认列表的优先级赋值。

5.变量参数列表:由于PHP实参可以多于形参,所以我们可以传递N个实参,通过PHP内置函数得到相应的参数。

var _ dump(func _ get _ args());//获取所有参数的列表(数组)

var _ dump(func _ num _ args());//返回的参数总数等于count(func _ get _ args());

var _ dump(func _ get _ arg(0));//根据下标,返回每个参数

可变函数

1.将函数名转换成字符串后,将其赋给变量。这个变量,我们称之为变量函数,可以添加()来调用函数内容。

func(){ }- gt;$ fun = # 34func # 34;- gt;$ func();

不及物动词回调函数

1.使用变量函数和自定义回调函数。

函数func($ func){ $ func();}- gt;函数f(){ }- gt;func( # 34;f # 34);

2.使用call_user_func_array和call_user_func自定义回调函数;

这两个函数的第一个参数都是回调函数,表示当前回调被执行。

不同的是call_user_func_array()的第二个参数是一个数组,数组的每个值赋给回调函数的参数列表,相当于JS中的apply();

而call_user_func则是直接展开回调函数的参数列表,写入第2 ~ 2nd个参数中,相当于JS中的call();

例如:call _ user _ func _ array( # 34;func # 34,数组(1,2,3));

- gt;func(1,2,3);

call _ user _ func( # 34;func # 34,1,2,3);- gt;func(1,2,3);

七。匿名函数

因为可变函数,调用方很多(func()/$ func();)

所以为了让函数的调用更加一致,就产生了匿名函数!!!

声明匿名函数,函数体后面的分号必不可少!

匿名函数本身也是变量,使用var _ dump();检测为对象类型

八、PHP闭包

在PHP中,子函数不能直接访问父函数的局部变量,所以必须使用User关键字来传递!!!

文章收藏及网络,硬收藏转载请注明出处全能大脸猫博客!

PHPߐPHP while循环的过程控制基础知识“理论篇”

PHP ߐ PHP基础知识条件语言IF判断“理论”

PHP ߐ PHP基础知识条件语言切换判断“理论”

欢迎分享,转载请注明来源:聚客百科

原文地址: https://juke.outofmemory.cn/life/625297.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-07
下一篇 2022-07-07

发表评论

登录后才能评论

评论列表(0条)

保存