函数的定义方式:
1.使用关键字"function"开始;
2.函数名可以是字母或下划线开头;
3.在大括号中编写函数体;
格式:
function name(参数列表){
//功能代码
}
函数的返回值:
使用return关键字可以使函数返回值,可以返回包括数组和对象在内的任意类型,如果省略了return,则默认返回值为NULL;
return语句会立即终止函数的运行,并且将控制权交回调用该函数的代码行;
function add($a) { return $a+1; $a = 10; return $a+20; } $b = add(1);
下面函数的返回值跟上面的函数是一致的
function add($a) { return $a+1; $a = 10; return $a+20; } $b = add(1);
函数不能返回多个值,但可以通过返回一个数组来得到类似的效果;
function numbers() { return array(1, 2, 3); } list ($one, $two, $three) = numbers();
可变函数:
定义:可变函数就是可以通过变量的值来调用的函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数;
调用方法:变量名+();
例子1:
代码:
<?php
//可变函数测试1
function fun1(){
echo "fun1";
}
function fun2($args){
echo "fun2:".$args;
}
function fun3($arg0,$arg1){
echo "fun3:".$arg0.$arg1;
}
$func = 'fun1';//定义一个变量,让它里面存的值和第一个函数的函数名相同
$func();//调用第一个函数
echo "<br />";
$func = 'fun2';
$func('调用了第二个函数');
echo "<br />";
$func = 'fun3';
$func("这次",",调用了第三个函数");
?>
执行结果:
fun1
fun2:调用了第二个函数
fun3:这次,调用了第三个函数
例子2:
代码:
<?php
//可变函数测试2:调用一个对象的方法
class c1{
function fun1(){
$name = 'fun2';
$this->$name();
}
function fun2(){
echo "This is fun2";
}
}
$c1 = new c1();
$func = 'fun1';
$c1->$func();
?>
执行结果:
This is fun2
函数:function_exists(函数名)
用法:判断函数是否存在
返回值:如果函数存在,返回true,否则返回false
举例:
代码:
<?php
//函数function_exists(函数名)的用法
function fun1(){
echo "This is fun1";
}
if(function_exists(fun1)){
echo "fun1 is exist";
echo "<br />";
fun1();
}else{
echo "fun1 is not exist";
}
echo "<br />";
if(function_exists(fun2)){
echo "fun2 is exist";
echo "<br />";
fun2();
}else{
echo "fun2 is not exist";
}
?>
执行结果:
fun1 is exist
This is fun1
fun2 is not exist