3.6、PHP函数
返回目录: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 条