A-A+

3.6、PHP函数

2015年04月23日 php 评论 1 条 阅读 3,443 views 次

返回目录:PHP网站建设(基础)

 

函数:将一些重复使用的功能写到一个独立的程序块中,在需要时方便单独调用。分为系统内存函数和用户自定义函数。

 

一、函数的定义和调用

1、语法格式:

function 函数名($str1,$str2……){

函数体;

return 返回值;

}

2、PHP中函数名的规则:

  • 不能与内部函数货PHP关键字重名;
  • 函数名不区分大小写,但建议按照大小写规范命名;
  • 函数名只能以字母开头;

3、函数的调用:

函数的调用可以在函数定义前,也可以在函数定义后。

eg:

<?php

function GetSum($a,$b)     //定义函数GetSum;

{

return $a+$b;                     //函数体:计算求和并返回结果

}

$c=GetSum(100,50);         //调用函数

echo $c;

?>

 

 

二、参数传递

1、值传递;

2、引用传递;

3、默认参数;

 

三、函数返回值

函数将返回值传递给调用者的方式是使用关键字return。如果在全局作用域内使用return关键字,那么将终止程序的执行。

 

四、变量作用域

PHP的变量是有作用范围的,也称作用域。一般情况变量的作用范围是包含变量的PHP程序块。

PHP变量按作用范围可分为三种:局部变量、全局变量、静态变量。

1、局部变量:

在函数内部定义的变量,作用域是所在函数。在这个函数外则无效,而且在函数调用结束后被系统自动收回。

2、全局变量:

在所有函数之外定义的变量,作用域是整个php文件,但函数内无效。如果要在函数内部访问全局变量,则要使用global关键词声明。

语法:global $a;

eg:

<?php
$a="全局变量a";
echo "函数外:".$a;
function Sample()
{
$a="函数内部变量a";
echo "<br/>函数内:".$a;
global $a;
echo "<br/>函数内:".$a;
global $b;
$b="<br/>函数内全局变量b";
}
Sample();
echo $b;
?>

函数内部使用全局变量,需要先global声明,再进行调用。

函数内部可以用global创建全局变量。

3、静态变量

全局变量和局部变量在调用结束后都会失效。如果仍然需要该变量,就需要声明为静态变量。

语法:static $a=123;

<?php
function Sample1()
{
static $a=100;
$a++;
echo $a."<br/>";
}
function Sample2()
{
$b=50;
$b++;
echo $b."<br/>";
}
Sample1();
Sample1();
Sample1();
Sample2();
Sample2();
Sample2();
?>

运行结果:

101

102

103

51

51

451

可见:局部变量在函数调用结束后值会丢失,局部变量在第二次调用函数时数值被初始化为50。而静态变量在函数调用后值不会丢失,在第二次调用时的值是第一次调用后的结果。

 

五、PHP内置函数

PHP内置函数是嵌入到PHP中的,可以直接使用。

PHP内置函数分为“标准函数库”和“扩展函数库”。

1、标准函数库:存放在PHP内核中,可以直接使用。

2、扩展函数库:封装在相应的DLL文件中,使用前需要在PHP配置(php.ini)文件中把相应的DLL文件包含进去。

3、PHP变量函数库:一系列用于处理变量的函数。

常用变量函数:

empty();   //检测变量是否为空

gettype();   //获取变量类型

is_int();    //是否为整数

isset();    //检查是否被赋值

unset();    //销毁变量:清空变量的值

4、字符串函数库:一系列处理字符串的函数

常用字符串函数:

explode();  //使用一个字符串分割另一个字符串

implode();  //合并数组元素到一个字符串

trim();   //删除字符串左右的连续空白

str_replace();  //字符串替换

md5($a,false);    //用md5算法加密字符串

strlen();    //获取字符串长度(字节数)

substr();    //从指定位置开始截取一定长度的子字符串

strtolower();    //把字符串所有字符转换为小写

strtoupper();    //转换为大写

5、日期时间函数库:日期时间的处理函数

checkdate();    //验证日期有效性

date();       //格式化本地时间或日期

time();      //返回当前unix时间戳

6、PHP数学函数库

rand(0,9);   //生成一个0~9的随机数字

max();    //比较最大值

min();    //比较最小值

7、PHP文件目录函数库:对文件和目录的处理

opendir();    //函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。

readdir();    // 函数返回由 opendir() 打开的目录句柄中的条目。若成功,则该函数返回一个文件名,否则返回 false。

mkdir();   //新建一个目录

rmdir();    //删除指定目录

unlink();    //删除指定文件

filetype();   //获取文件类型

filesize();    //获取文件大小

readfile();   //读取一个文件,把读取的内容写入到输出缓存

fopen();   //打开本地或远程某文件,返回该文件的标志指针

fread();   //从文件指针所指定位置中读取指定长度的数据

fclose();  //关闭一个已打开的文件指针

copy();    //复制文件到其他目录

file_exists();   //判断文件货目录是否存在

basename();    //返回路径中的文件名部分

file_put_contents();     //将字符串写入到指定的文件中

file();       //把整个文件读入到数组中,各数组元素对应文件的各行

disk_free_space();    //返回指定目录的可用空间

move_upload_file();    //应用pose方法上传文件

 

eg:

<body>

<ol>

<?php

$dirname= "D:\\www\\php";      //定义目录名称

$dir=opendir($dirname);      //打开目录

while($file=readdir($dir))     //读取目录下的文件名

{

echo "<li>$file</li><br/>";

}

closedir($dir);

?>

</ol>

</body>

 

8、其他PHP函数还很多,需要自己慢慢去探索

 

标签:

1 条留言  访客:0 条  博主:0 条   引用: 1 条

来自外部的引用: 1 条

  • PHP网站建设(基础) | 添翼博客

给我留言