1.函数
分为内置函数和自定义函数,用户定义的函数声明以单词 "function" 开头
此外:
函数名能够以字母或下划线开头(而非数字)。
函数名对大小写不敏感。
函数名应该能够反映函数所执行的任务
php
<?php
function helloWorld(){
echo "Hello World!";
}
helloWorld();
function getname($name){//带参数的函数
return $name;
}
echo getname('liming');
$a=function () {//匿名函数,一般赋值给一个形参
return 'liming2';
};
echo $a();
?>
回调函数
指调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数,使用回调函数是为了可以将一段自己定义的功能传到函数内部使用。
php
//回调函数
function getname2($name)
{
return $name;
}
echo call_user_func('getname2','liming123');
2.变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
local(局部)
global(全局)
static(静态)
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
global 关键词用于在函数内访问全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量
php
$y=10;
function myTest() {
echo $GLOBALS['y'];
}
myTest();
当函数完成/执行后,会删除所有变量。需要不删除某个局部变量,使用 static 关键词.
php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
//<!--然后,每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。-->
//<!--该变量仍然是函数的局部变量。-->
?>