PHP(7) 函数

函数

1、 函数分类

● 系统函数,也就是PHP的提供的一些函数库,固然这些函数库既有PHP自带的函数库(如String、Math、Date/Time等),也有外部提供的函数库(GD二、MySQL、MSSQL等)。

若是是PHP自带的函数库的使用很是简单,只要你的操做系统支持PHP,也就支持了PHP的内置函数库。可是若是想使用外部提供的函数库的话,那就必需要有相应的外部文件支持了。还记得咱们的配置php.ini中那些extension吗?其实,它们就是一些外部函数所必须的一些动态连接库文件(Dynamic Link Library)。

不管是内置函数库仍是外部函数库,它们的功能都是系统提供的,若是咱们想常常完成一些功能相同,可是参数值又有变化的某些功能,而这种功能系统函数又没有提供,咱们就须要自定义函数了!自定义函数在有的资料中称为方法(Mthod),其实,它们在某种状况下是彻底相同的。在面对过程编程中称为函数;而在面向对象编程中称为方法。

● 自定义函数

程序员根据自身的须要而建立的函数

自定义函数的好处在于封装性和重用性。

2、 建立自定义函数

function 函数名称([$参数名称[=默认值[,…]]])

{

执行代码;


[return 返回值]

}
 
注:在自定义函数中除为调试程序的目的,不要带有echo、print等输语句,由于只要带有输出语句,那么就表明你的函数只要之后被调用,那么也就只能输出了!而实际上说,不少的自定义函数的功能是为了实现某种指定的功能,好比说获取文件的扩展名,而获取文件的扩展名又是文件改名的一部分,因此,不能带有输出语句,只能将获得的结果返回,当返回结果后,你是想输出,仍是作为其余程序的一部分来出现,那么随便了!
 

3、 调用自定义函数

[$变量名称=]函数名称([[$参数名称=]参数值[,…]]);

下面咱们经过几个案例来讲一下!

4、 案例

1.产生字符和数字的随机数(版本1)

function random()

{

 $char = "0123456789abcdefghijklmnopqrstuvwxyz";

 for($i=0;$i<4;$i++)

 {

  $chars .= substr($char,rand(0,strlen($char)-1),1);

 }

 return $chars;

}

$rndChar = random();

echo($rndChar);

这样,咱们就产生了随机的验证码,这其中substr、strlen是系统函数,具体的功能请你们查阅一下PHP手册!

这个案例中产生的随机数中有可能产生同一个字符出现屡次的状况,若是想屏蔽这种状况,只须要将上面的案例作一个小小的修改就能够了!

2. 产生字符和数字的随机数(版本2)

function random()

{

 $char = "0123456789abcdefghijklmnopqrstuvwxyz";

 for($i=0;$i<4;$i++)

 {

  $rndChar = substr($char,rand(0,strlen($char)-1),1) ;
  $char = str_replace($rndChar,NULL,$char);

  $chars .= $rndChar;

 }

 return $chars;

}

$rndChar = random();

echo($rndChar);

以上的这个案例不存在参数,下面咱们来看一个带有参数的案例!
固然,产生随机数的方法有不少,咱们只是拿出其中的一个来!

3.获取文件的扩展名

在不少PHP程序中常常能够容许用户上传附件或图像,但为保证附件文件或图像文件在服务器上的名称的惟一性,为文件改名就显得尤为重要了!可是文件改名只须要更改主文件名,因此,咱们必需要获知文件的扩展名!
function getExtName($file)

{

 $extName = substr($file,strrpos($file,".")+1);

 $extName = strtolower($extName);

 return $extName;

}

$file = "05.gif";

$extName = getExtName($file);

echo($extName);

这个案例中带有一个必选参数,下面咱们来看一个带有可选参数的案例!

4.获取当前的时间戳

Unix时间戳指从公元1970-01-01 00:00:00至如今(指UTC时间)所经历的秒数。

function getTimestamp($timezone = 8)

{

 $timestamp = time() + $timezone * 3600;

 return $timestamp;

}

echo(getTimestamp());

若是一个函数中既带有必选参数,又带有可选参数,可选参数必须放置在必选参数以后!

另外,既然系统函数容许嵌套,自定义函数也容许嵌套,可是必须正确的进行嵌套!

函数是编程中很是重要的部分,这其中的理解只能靠你们的造化了!^_^
 
5、包含文件
 
若是有多个文件中都须要调用某个自定义函数,那么能够经过包含文件的方法来实现,也就是说,咱们须要将共享的某些信息存储在包含文件中,若是其它页面想调用这些共享信息,咱们只须要来调用这个文件就能够了!这样,就能够实现"牵一发而动全身"的目的了!
 
调用包含文件能够经过如下语句来实现:
 
include("文件的位置及全称");
 
include_once("文件的位置及全称");
 
require("文件的位置及全称");
 
require("文件的位置及全称");
 
include和require的区别是:
 
若是指定的包含文件不存在或名称引用错误,include产生一个警告信息;后续代码继续执行;require则产生一个致命错误,中止后续代码的执行!
相关文章
相关标签/搜索