php函数详解之学习笔记

在php中函数是常用的一种合理的可以重复使用的方法,函数分别系统函数与用户自定义函数,下面我来给大家介绍这两种php函数的使用方法,有需了解的朋友可参考.

系统函数

如phpinfo() ;这就是一个系统函数了,关于系统函数我们不多说,直接参考php教程或手册都会有.

用户自定义函数

php 引入函数的概念使程序变得简洁,运算效率更快.函数是实现某种功能的一段程序,这段程序相当于一个模块,需要时用一些简单的命令就可以调用出来使用,不用每次都重新编写.就好象电脑,我们不需要了解里面的复杂结构,只要了解它提供的功能直接使用即可.

php自定义函数-php虽然内置了很多实用的函数,可是不可能满足实际设计的需要,这时我们就需要自己创建函数.

基本结构形式:

实例代码如下:

  1. function 函数名(参数){
  2. 语句体
  3. }

function为声明函数;函数名必须唯一,和变量名不同的是函数名不区分大小写;function和函数名之间必须要有空格;参数可以省略,也可以添加多个参数,用英文逗号隔开.

php调用函数-当我们定义了函数后,就可以通过以下结构形式对函数进行调用:

函数名(参数)

参数可以省略,但必须保留括号.

实例代码如下:

  1. <?php
  2. function e(){
  3. $i=5+6;
  4. echo $i;
  5. }
  6. e();
  7. ?>

函数的传递参数

如果函数定义了参数,那么在调用函数时就必须注意参数值的传递问题.php函数参数传递的方式有两种:按值传递和引用传递,默认为按值传递.

1、按值传递:

实例代码如下:

  1. <?php
  2. function sum($num,$price){
  3. $total=$num*$price;
  4. echo "总价格为:$total";
  5. }
  6. sum(10,78);
  7. ?>

默认参数

php函数默认参数-如果用一个函数时并没有提供该参数的值,那么该参数将使用函数制定的默认值,默认值必须已经在函数定义时赋值.

实例代码如下:

  1. <?php
  2. function add($a,$b=10){ /* 定义变量$b默认参数 */
  3. $sum=$a+$b;
  4. echo $sum ."<br>";
  5. }
  6. add(1,5); /* 按值传递参数代替默认参数 */
  7. add(1); /* 没有给$b传递参数将采用默认值 */
  8. ?>

函数返回值

我们在设计程序时,很多时候不希望将函数的运行结果直接在浏览器显示出来,这时可以通过return语句先将函数值调用出来再进行其它操作.

php函数返回值实例:

实例代码如下:

  1. <?php
  2. function add($a,$b=10){
  3. $sum=$a+$b;
  4. return $sum; /* 将$sum的值赋给函数 */
  5. }
  6. $sum=add(1,5); /* 这里变量$sum得到函数的值 */
  7. echo $sum ."<br>";
  8. ?>

函数嵌套调用

函数的内部不但可以是一般的执行语句,也可以是函数,这就是php函数嵌套的用法.函数嵌套只一个函数里面还调用了其它函数,这里要理解的是各函数均处于平行关系,函数的定义是独立的.就像一个容器里面可以放置很多个小容器,而这些容器彼此独立,各自容纳自己的东西.

实例代码如下:

  1. <?php
  2. function volume($l,$w){
  3. function height($a){
  4. $a=$a/2;
  5. return $a;
  6. }
  7. $a=$l*$w;
  8. $v=$a*height($a);
  9. echo $v;
  10. }
  11. volume(8,3);
  12. ?>

函数递归调用

什么是php递归函数?在解释这个概念之前,我们先来看一个数学例子.如果要算出n的阶乘,即n!,则首先应该知道(n-1)!,而要知道(n-1)!,又必须知道(n-2)!.以此类推,直至1!=1,再返回计算2!,3!…(n-1)!,n!,才能最终得出n阶乘的结果.

php函数递归调用的含义就是函数能够调用自身,这种直接或者简介调用函数本身的操作在php语言中是允许的,成之为递归函数.

实例代码如下:

  1. <?php
  2. function calculate($n){
  3. if($n==0)
  4. return 1;
  5. else
  6. return $n*calculate($n-1);
  7. }
  8. $s=calculate(3);
  9. echo $s;
  10. ?>