PHP 函数8
PHP 函数 function
PHP 函数
PHP 的函数分为用户自定义函数和系统内置函数。内置函数可以直接使用,用户自定义函数需要使用关键字 function 来定义。
自定义函数
函数(function),可以看着是为实现某个功能的独立的程序语句集合。我们将某个功能写成一个函数后,就可以在需要的地方方便的使用它。合理的使用函数,可以让我们的PHP程序更加简洁易读,更加科学。
语法
function function_name(arg1,arg2,……)
{
函数功能代码
}
语法解读:
使用 function 关键字定义一个函数
function 后面紧跟函数名,函数名字以字母或者下划线开始,命名应该提示其功能
函数名字后面是一对小括弧,里面是函数的参数,参数之间以“,”号分隔,但参数不是必须的
括弧()后面跟着“{}”,内部是该函数要实现的功能语句
下面是一个自定义函数的例子:
<?php
/* 定义函数开始 */
function print_string()
{
echo "你好!";
}
/* 定义函数结束 */
print_string(); //执行该函数,执行结果是输出“你好!”字符串
?>
任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。
提示
函数名是非大小写敏感的,不过在调用函数的时候,通常使用其在定义时相同的形式。
函数的参数
参数的功能是传递信息到函数。
使用参数的例子:
<?php
function city_name($city)
{
echo "城市名称为:".$city;
}
city_name("shanghai"); //执行该函数,执行结果是输出“城市名称为:shanghai”字符串
?>
可以给函数的参数指定默认值,以便在没有指定参数值时,采用参数默认值。
<?php
function city_name($city = "beijing")
{
echo "城市名称为:".$city;
}
$name = "shanghai";
city_name(); //执行结果是输出“城市名称为:beijing”
city_name($name); //执行结果是输出“城市名称为:shanghai”
?>
从例子可以看出,传入参数的变量名($name)和定义函数的参数变量名($city)无关。
接受多个参数:
<?php
function city_name($city, $zipcode)
{
echo "城市名称为:".$city."<br />";
echo "邮政编码:".$zipcode;
}
?>
函数的返回值
函数在处理完内部逻辑后,我们常常需要根据处理结果来决定下一步的操作逻辑,这时候就需要得到函数的处理结果。使用return()来返回函数处理结果。
函数返回值的例子:
<?php
function add($x)
{
return $x+1;
}
echo add(2); //输出函数的返回值,结果是输出 3
?>
函数返回值并不是指返回一个数值,可以返回包括字符串、数组、对象在内的任何类型。
比较下面两个例子的区别:
<?php
$x = 10;
function multiply($x){
$x = $x * 10;
return $x;
}
multiply($x);
echo $x; //输出 10
?>
<?php
$x = 10;
function multiply($x){
$x = $x * 10;
return $x;
}
$x = multiply($x);
echo $x; //输出 100
?>
内置函数
PHP 内置了大量的函数,这使得 PHP 变得非常强大。这些函数几乎包括了我们需要处理的方方面面。
PHP 内置函数常用的有“字符串函数”、“数组函数”、“数据库函数”、“时间/日期函数”、“文件函数”、“图像函数”、“正则函数”、“URL函数”等。
PHP 检测函数是否被定义 function_exists 函数
function_exists() 函数用于检测函数是否被定义。
function_exists()
PHP function_exists() 函数用于检测函数是否被定义,检测的函数可以是 PHP 的内置函数,也可以是用户的自定义函数。如果被检测的函数存在则返回 TRUE ,否则返回 FALSE 。
语法:
bool function_exists( string function_name )
例子1,检测用户自定义函数:
<?php
function testfunc(){
echo '我是自定义函数';
}
if(!function_exists('testfunc')){
function testfunc(){
echo '我是自定义函数';
}
}
testfunc();
?>
例子2,检测系统内置函数,以下代码是常见的用于检查系统是否开启 GD 库:
<?php
if(function_exists('gd_info')){
echo 'GD库已经开启。';
} else {
echo 'GD库没有开启。';
}
?>
特殊情况
function_exists() 函数有个特殊情况,当参数不是以字符串函数名而是以 function_name() 形式传入参数时,function_exists() 将直接返回原函数值。
<?php
function testfunc(){
echo '我是自定义函数';
}
echo function_exists(testfunc());
?>
运行该例子输出:
我是自定义函数
参考阅读
method_exists():检查类的方法是否存在。
is_callable():检测参数是否为合法的可调用结构。
class_exists():检查类是否已定义。
isset():检测变量是否设置。
defined():检测常量是否被定义。