.

PHP 函数8

文章作者:eKing
发表时间:2016年11月13日 07:38
浏览次数:214

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():检测常量是否被定义。

上一篇:PHP 流程控制7