1.PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言。大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使 代码进行复用,程序结构与逻辑更加清晰。
PHP函数的定义方式:
1.使用关键字“function”开始
2.函数名可以使字母或下划线开头:function name()
3.在大括号中编写函数体:
function name(){
echo 'Eric';
}
定义函数后,调用这个函数的方法为:函数名+参数,例如,name();
2.PHP函数的参数。PHP的函数可以没有参数,也可以有若干个参数,多个参数称之为参数列表,采用都好进行分割,参数类似于一个变量,调用时用来传递数据到函数体中。通 过传递参数可以使函数实现对参数的运算,得到我们想要的结果。
参数的变量名可以自由指定,但最好能够表达相关的意思,常用的设定参数的方法为:
function sum($a, $b){
return $a+$b;
}
3.PHP函数之返回值。
(1) 使用return关键字可以使函数返回一个值,可以返回包括数组和对象的任意类型,如果省略了return,则默认返回值为NULL。
function add($a){
return $a + 1;
}
$b = add(1);//返回值为2
(2)返回语句会立即中止函数的运行,并且将控制权交回给调用该函数的代码行。因此下面函数的返回值和上面的函数是一样的。
function add($a){
return $a+1;
$a = 10;
return $a+20;
}
$b = add(1);//返回值仍为2,也就是执行到return $a+1;这一行,程序就中止并返回到调用函数$b = add(1);这一行。
(3)函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。
function numbers(){
return array(1,2,3);
}
list ($one,$two,$three) = numbers();
4.可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参 数来调用不同的函数。可变函数的调用方法为:变量名+括号。
function name(){
echo 'jobs';
}
$func = 'name';
$func();//调用可变函数
可变函数也可以用在对象的方法调用上。
class book{
function getName(){
return 'bookname';
}
}
$func = 'getName';
$book = new book();
$book -> $func();
5.内置函数,指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。
例如:字符串处理函数,通过内置函数str_replace可以实现字符串的替换。下面的例子将“jobs"替换成”steven jobs“:
$str = 'i am jobs.';
$str = str_replace('jobs','steven jobs',$str);
echo $str;//结果为”i am steven jobs"
另外一些函数是通过其他扩展来支持的,比如mysql数据库处理函数,GD图像处理函数,邮件处理函数,PHP默认加载了一些常用的扩展库,我们可以安装或加载其他扩 展库来增加PHP的处理函数。
5.判断函数是否存在,当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样 的method_exists可以用来检测类的方法是否存在。
function func(){
}
if (function_exists('func')){
echo 'exists';
}
判断类是否定义,可以使用class_exists。
class MyClass{
}
//使用前检查类是否存在
if (class_exists('MyClass')){
$myclass = new MyClass();
}
PHP中有很多这类的检查方法,例如文件是否存在file_exists等。
$filename = 'test.txt';
if (!file_exists($filename)){
echo $filename.'not exists.';
}