PHP系列(二)PHP函数的声明与应用
admin
2023-06-16 18:42:00
0次

(1)函数的定义和应用

function 函数名(参数1,参数2,参数3......)

 {

    函数体

     return 返回值

 }

 

table(3,8,"学生成绩表","red","green");

function table($row,$col, $tablename, $bgcolor1,$bgcolor2)

{

 echo "

";

 echo"

";

  $i=0;

  $k=0;

  while($i<$row){

 

 if($i%2==0)

     $bgc=$bgcolor1;

  else

     $bgc=$bgcolor2;

 

  echo "

";

  $j=0;

 while($j<$col)

{

  echo "

";

   $j++;

}

echo "

";

$i++;

}

 echo"

".$tablename."

".$k++."
";

}

 

table(5,2,"学生信息表","yellow","bule");

table(8,12,"学生表","#f00ff","#ffffaa");

?>

显示出三个表(学生成绩表,学生信息表,学生表)

 

(2)函数局部变量

 

函数体结束、变量释放

function fun1()

{  

  $a=100;

  echo $a;

}

 

function fun2()

{

 $b=200;

 echo $b;

}

fun1();

fun2();

?>

显示:

100

200

 

(3)函数的全局变量

 

$a=200;

$b=500;

function fun1()

{

 echo $GLOBALS["a"];

  

}

 

function fun2()

{

   global $b;

   echo $b;

}

fun1();

fun2();

?>

显示:

200

500

 

 

(4)函数的静态变量

 

静态变量用在累加

function test()

{

  static $a=0; //静态变量

  echo $a."
";

   $a++;

}

test();

test();

test();

?>

显示:

0

1

2

 

function_exists();判断函数是否存在

function test()

{

  static $a=0;

  $a++;

}

 test();

if(function_exists("test1")){

         echo"test1 is exists";

}else{

         echo"test1 is not exists";

}?>

显示:test1 is exists

 

函数参数传递

 function fun1($a=1, $b=2, $c=3, $d=4, $e=5)

{

  echo $a."
";

  echo $b."
";

  echo $c."
";

  echo $d."
";

  echo $e."
";

 

}

fun1(a,b,c,d);

?>

显示:a b c d 5

 

 

func_get_args(); //获取方法中参数的数组

function fun($a)

{

  $args=func_get_args(); //获取方法中参数的数组

   echo count($args);

   echo "
";

   echo $args[4];

}

fun(1,2,3,5,688);

?>

显示为:5  688

(5)变量函数

 

function test()

{

    echo "#######
";

}

$a=test;

$a();

?>//变量函数

显示:#######

 

(6)递归函数

 

function demo($a){

 echo "#####".$a."
";

  if($a>0)

 demo(--$a);

}

demo(3);

?>//递归函数

显示为:

#####3

#####2

#####1

#####0

 

 

function demo($a){

 if($a > 1){

   $r=$a*demo($a-1);

  }else {

  $r=$a;

  }

return $r;

}

echo demo(4);

?>递归调用

4x3x2x1=24

 

function fun($a){

         echo$a."
";

         if($a>0){

                   fun($a-1);

         }else{

                   echo"-------
";

                   }

         echo$a."
";

}

fun(4);

显示:

4
3
2
1
0
-------
0
1
2
3
4

 

(7)回调函数

函数当作参数传递

function  fnCallBack( $msg1 , $msg2 )

{

   echo 'msg1:'.$msg1;

   echo "
\n";

   echo 'msg2:'.$msg2;

}

$fnName = "fnCallBack";

$params = array( 'hello' , 'world' );

call_user_func_array( $fnName , $params );

显示为:

msg1:hello

msg2:world

 

$arr = array(1,5,7);

Function mycon($a,$b){

         If($a>$b){

         Return1;

}elseif($a<$b){

Return -1;

}else{

Return 0;

}

}

Usort($arr,”mycon”);

Print_r($arr);

 

(8)内部函数

 

function demo($php,$java,$oracle){

 function php($php){

     if($php >=60 && $php<=100){

     return "php成绩及格";

      }else{

       return "php成绩不及格";

      }

}

 

 function java($java){

     if($java >=60 && $java<=100){

     return "java成绩及格";

      }else{

       return "java成绩不及格";

      }

}

 

 function oracle($oracle){

     if($oracle >=60 && $oracle<=100){

     return "oracle成绩及格";

      }else

{

       return "oracle成绩不及格";

      }

}

 

echo php($php)."
";

echo java($java)."
";

echooracle($oracle)."
";

 

 

$total=$php+$oracle+$java;

$anv=$total/3;

 

echo "你的总成绩是".$total."
";

echo "你的平均成绩是".$anv."
";

}

demo(10,80,70);

?>

显示为:

php成绩不及格
java
成绩及格
oracle
成绩及格
你的总成绩是160
你的平均成绩是53.3333333333

 

(9)加载自定义函数库

Include() 速度快脚本执行包含时、当处理失败时、会产生一个警告、

Require() 会导致一个致命错误

require()将一个文件在预处理期间被导入、像把该文件粘贴到使用函数的地方

include_once  require_once这二个函数如果被包含了。只会被包含一次、不会重复

 

(10)匿名函数

$greet = function($name){
    printf("Hello %s\r\n", $name);
};
$greet('World');
$greet('PHP');

(11)php引用参数的函数

只有在内存变量中才有地址、有引用关系的二个变量、一个变、另一个就变、

如果在函数说明中、有&出现、说明这个 参数是一个引用参数、调用时传参数时、就必须传一个变量

 

$b= 20;

functiondemo(&$a){

    $a=100;

}

echo$b."
";

demo($b);

echo$b."
";

显示为:

20

100

 微信扫一扫 、关注公众号

   不定时分享资料视频

PHP系列(二)PHP函数的声明与应用


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...