当前位置:编程学习 > php >>

php函数

函数分为系统内部函数和用户自定义函数两种。 函数就是把日常中经常使用的一段代码或一个功能写成一个函数。在需要时进行调用,调用函数的目的是为了简化编程的负担,减少代码量和提高效率,达到增加代码重用性,避免重复开发的目的。

1.定义和调用函数,还有如何在函数间传递值。

函数就是将一些重复使用到的功能写成一个独立的代码块,在需要的时候单独调用。
function  foo      ($arg_1, $arg_2, ..., $arg_n){
 关键字   函数名字   参数    参数  参数

  echo "Example function.\n";  这个为自定义函数主体
      return $retval;
}

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

 1.按值传递是指将实参的值复制到对应的形参中,在函数内部的操作针对形参进行。操作的结果不会影响到实参,即函数返回后,实参的值不会改变。也就是说实参的值不会因为函数的改变,而改变,但是函数输出的值是按传入的参数而改变了的。

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

 3.默认参数,默认参数及可选参数,可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。默认参数必须放在非默认参数的右侧,否则函数可能出错,,默认值也可通过引用传递。

2.函数返回值

 1.函数的返回值,通常,函数将返回值传递给调用者的方式是使用关键字return

 return()将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域,如果在全局作用域内使用return()关键字,哪么将终止脚本的执行。
 return语句只能返回一个参数,也即只能返回一个值,不能一次返回多个,如果要返回多个结果,就要在函数中定义一个数组,将返回值存储在数组中返回。

  2.变量函数
 
  函数的调用是通过改变变量名来实现的,通过在变量名后面加上一对小括号,php将自动寻找与变量名相同的函数,并且执行它,如找不到就报错。
 例如:function go(){
   echo go;
   }
  function come(){
   echo come;
   }
  $fun="go";
  $fun();
  $fun="come";
  $fun();

  3.对函数的引用
 
 按引用传递参数可以修改实参的内容。引用不仅可用于普通变量,函数参数,也可用于函数本身,对函数的引用,就是对函数返回结果的引用。引用函数就是对定义函数时,在函数名前加上&符,接着通过变量$str引用该函数,最后输出变量$str.
 例,function &example($tmp=0){
  return $tmp;
  }
      $str = &example("看到了");
      echo $str."<p>";


   4.取消引用

 当不需要引用时,可以取消引用,取消引用使用unset()函数,它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。

php变量函数库

 常用的:

 isset()函数检查变量是否被设置,即是否被赋值。
  设置则返回TRUE,否则返回false。isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
 empty()函数检查一个变量是否为空,为空返回TRUE,否则返回FALSE
 gettype()函数获取变量的类型。
 var_dump 打印变量的相关信息。

  常用的字符串函数库
 explode 分隔字符串
 
  日期时间函数库
 checkdate 验证日期有效性
 mktime 用于返回一个日期的unix时间戳

  数学函数库
 floor实现舍去法取整
 fmod返回除法的浮点余数。

  文件系统函数库
 fopen()用于打开某文件,并返回该文件的标识指针,该文件可是本地也可是远程。
 mkdir新建目录
 
  mysql函数库

每种函数数都有很多,这里只写了几个举例而已。
 

复习这一节内容:
 1.定义和调用函数
 2.函数间传递参数,按值传递,引用,默认
 3.从函数中返回值,return
 4.变量函数
 5.对函数的引用
 6.取消引用
 7.php变量函数库,常用的,字符串,日期时间,数学,文件系统,mysql函数库
作者“技术为王”

补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,