您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

php函数

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 06:28 点击:

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

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.定义

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 查找数组中指定键名的值
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1