PHP 函数

PHP 函数

内容导读:

掌握函数的定义、调用,以及参数传递

掌握变量函数库中经典函数

掌握日期时间、数学、文件系统及 MySQL 中的经典函数


1 函数

1.1 定义和调用函数

函数,就是将一些重复使用到的功能写在一个独立的代码块中,在需要时单独调用。

基本语法格式为:

 function fun_name($str1,$str2…$strn){  fun_body; }

说明:function:为声明自定义函数时必须使用到的关键字。

fun_name:为自定义函数的名称。

$str1,$str2…$strn:为函数的参数。

fun_body:为自定义函数的主体,是功能实现部分。

当函数被定义后,所要做的就是调用这个函数。调用函数的操作十分简单,只需要引用函数名并赋予正确的参数即可完成函数的调用。

1.2 在函数间传递参数

在调用函数时需要向函数传递参数,被传入的参数称为实参,而函数定义的参数为形参。参数传递的方式有按值传递按引用传递默认参数3 种。

a.按值传递方式按值传递是指将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。

b.按引用传递方式引用传递就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后实参的值会发生变化。引用传递方式就是传值时在原基础上加&号即可。

c.默认参数(可选参数)默认参数即可选参数。可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值

1.3 从函数中返回值

通常,函数将返回值传递给调用者的方式是使用关键字 return。其将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域。

注意:如果在全局作用域内使用 return 关键字,那么将终止脚本的执行。

1.4 变量函数

也称作可变函数。如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且将尝试执行它。这样就可以将不同的函数名称赋给同一个变量,赋给变量哪个函数名,在程序中使用变量名并在后面加上圆括号时,就调用哪个函数执行。

function add($a,$b){ return $a+$b;}function mul($a,$b){ return $a*$b;}$result="add";echo $result(1,2);//调用add函数

类似面向对象中的多态特性。变量函数还可以被用于实现回调函数函数表

1.5 对函数的引用

按引用传递参数可以修改实参的内容。引用不仅可用于普通变量、函数参数,也可作用于函数本身。对函数的引用,就是对函数返回结果的引用。函数定义和调用两处地方都需要加上&才是对函数的引用。

<?phpfunction &test(){    static $b=0;//申明一个静态变量    $b=$b+1;    echo $b;    return $b;}//注意test()、&test()异同;$a=test();//这条语句会输出 $b的值为?$a=5;$a=test();//这条语句会输出 $b的值为?$a=&test();//这条语句会输出 $b的值为?$a=5;$a=test();//这条语句会输出 $b的值为??>

注意: 函数的引用返回多用在对象中。

1.6 取消引用

当不再需要引用时,可以取消引用。取消引用使用unset()函数。

注意:unset()只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。

2 变量函数库

除了用户自行编写的函数库外,PHP 自身也提供了很多内置的函数,变量函数库就是其中一个。但并不是所有的函数都会经常用到。

  • empty^[1]^ — 检查一个变量是否为空

  • gettype^[2]^ — 获取变量的类型

  • intval^[3]^ — 获取变量的整数值

  • is_array^[4]^ — 检测变量是否是数组

  • is_int^[5]^ — 检测变量是否是整数

  • is_numeric^[6]^ — 检测变量是否为数字或数字字符串

  • isset^[7]^ — 检测变量是否已设置并且非 null

  • print_r^[8]^ — 以易于理解的格式打印变量。

  • settype^[9]^ — 设置变量的类型

  • unset^[10]^ — 释放给定的变量

  • var_dump^[11]^ — 打印变量的相关信息

更多请参阅: PHP 手册>函数参考>变量与类型相关扩展>Variable handling

if(isset($_POST['Submit']) && $_POST['Submit']=="登录"){ //通过isset()函数对登录按钮进行判断$user=$_POST['user'];    //通过 $_POST数组调用表单文本域的值$pass=$_POST['pass']; if(empty($user)||empty($pass)){   //通过if语句判断用户名或是密码不能为空  echo "<script>alert('用户名或密码不能为空');</script>"; //用户名或是密码为空时,给出提示 }}

3.其他常用函数库

3.1 字符串函数库

  • addcslashes^[12]^ — 以 C 语言风格使用反斜线转义字符串中的字符

  • addslashes^[13]^ — 使用反斜线引用字符串

  • explode^[14]^ — 使用一个字符串分割另一个字符串

  • echo^[15]^ — 输出一个或多个字符串

  • ltrim^[16]^ — 删除字符串开头的空白字符(或其他字符)

  • md5^[17]^ — 计算字符串的 MD5 散列值

  • strlen^[18]^ — 获取字符串长度

  • str_ireplace^[19]^ — str_replace 的忽略大小写版本

  • substr_replace^[20]^ — 替换字符串的子串

  • strchr^[21]^ — 别名 strstr

  • substr_replace^[22]^ — 替换字符串的子串

  • strtr^[23]^ — 转换指定字符

  • substr^[24]^ — 返回字符串的子串

  • trim^[25]^ — 去除字符串首尾处的空白字符(或者其他字符)

更多请参阅: PHP 手册>函数参考>文本处理

3.2 日期时间函数库

  • checkdate^[26]^ — 验证一个格里高里日期

  • date^[27]^ — 格式化一个本地时间/日期

  • microtime^[28]^ — 返回当前 Unix 时间戳和微秒数

  • mktime^[29]^ — 取得一个日期的 Unix 时间戳

  • strftime^[30]^ — 根据区域设置格式化本地时间/日期

  • strptime^[31]^ — 解析由 strftime 生成的日期/时间

  • strtotime^[32]^ — 将任何字符串的日期时间描述解析为 Unix 时间戳

  • time^[33]^ — 返回当前的 Unix 时间戳

更多请参阅: PHP 手册>函数参考>日期与时间相关扩展

3.3 数学函数库

  • ceil^[34]^ — 进一法取整

  • mt_rand^[35]^ — 生成更好的随机数

  • mt_srand^[36]^ — 播下一个更好的随机数发生器种子

  • rand^[37]^ — 产生一个随机整数

  • round^[38]^ — 对浮点数进行四舍五入

  • floor^[39]^ — 舍去法取整

  • fmod^[40]^ — 返回除法的浮点数余数

  • mt_getrandmax^[41]^ — 显示随机数的最大可能值

  • max^[42]^ — 找出最大值

  • min^[43]^ — 找出最小值

更多请参阅: PHP 手册> 函数参考> 数学扩展> Math

3.4 文件系统函数库

  • basename^[44]^ — 返回路径中的文件名部分

  • copy^[45]^ — 拷贝文件

  • file_exists^[46]^ — 检查文件或目录是否存在

  • file_get_contents^[47]^ — 将整个文件读入一个字符串

  • file_put_contents^[48]^ — 将一个字符串写入文件

  • file^[49]^ — 把整个文件读入一个数组中

  • filetype^[50]^ — 取得文件类型

  • fopen^[51]^ — 打开文件或者 URL

  • fread^[52]^ — 读取文件(可安全用于二进制文件)

  • is_dir^[53]^ — 判断给定文件名是否是一个目录

  • is_uploaded_file^[54]^ — 判断文件是否是通过 HTTP POST 上传的

  • mkdir^[55]^ — 新建目录

  • move_uploaded_file^[56]^ — 将上传的文件移动到新位置

  • readfile^[57]^ — 输出文件

  • rmdir^[58]^ — 删除目录

  • unlink^[59]^ — 删除文件

更多请参阅: PHP 手册> 函数参考>文件系统相关扩展

3.5 MySQL 函数库

  • mysql_close^[60]^ — 关闭 MySQL 连接

  • mysql_connect^[61]^ — 打开一个到 MySQL 服务器的连接

  • mysql_create_db^[62]^ — 新建一个 MySQL 数据库

  • mysql_errno^[63]^ — 返回上一个 MySQL 操作中的错误信息的数字编码

  • mysql_error^[64]^ — 返回上一个 MySQL 操作产生的文本错误信息

  • mysql_fetch_array^[65]^ — 从结果集中取得一行作为关联数组

  • mysql_fetch_assoc^[66]^ — 从结果集中取得一行作为关联数组

  • mysql_fetch_field^[67]^ — 从结果集中取得列信息并作为对象返回

  • mysql_fetch_object^[68]^ — 从结果集中取得一行作为对象返回

  • mysql_fetch_row^[69]^ — 从结果集中取得一行作为枚举数组

  • mysql_num_rows^[70]^ — 取得结果集中行的数目

  • mysql_query^[71]^ — 发送一条 MySQL 查询

  • mysql_select_db^[72]^ — 选择 MySQL 数据库

更多请参阅: PHP 手册> 函数参考>数据库扩展>针对各数据库系统对应的扩展 >MySQL> Mysql(原始)

3.6 数组函数库

  • count^[73]^ — 计算数组中的单元数目,或对象中的属性个数

  • array_push^[74]^ — 将一个或多个单元压入数组的末尾(入栈)

  • array_pop^[75]^ — 弹出数组最后一个单元(出栈)

  • array_unique^[76]^ — 移除数组中重复的值

  • array_keys^[77]^ — 返回数组中部分的或所有的键名

  • array_search^[78]^ — 在数组中搜索给定的值,如果成功则返回首个相应的键名

  • explode^[79]^ — 使用一个字符串分割另一个字符串并存入数组

  • implode^[80]^— 将一个一维数组的值转化为字符串

  • arsort^[81]^ — 对数组进行逆向排序并保持索引关系

  • asort^[82]^ — 对数组进行排序并保持索引关系

  • in_array^[83]^ — 检查数组中是否存在某个值
    www.dhlnw.com
    rezhajuanban.com/
    www.rezhajuanban.com/
    glahyyb.com
    www.glahyyb.com
    turuiblog.com
    www.turuiblog.com
    styletg.com
    www.styletg.com
    dhlnw.com

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!