学习概要:

一.语言结构

二.自己定义函数

三.变量作用域

四.静态变量

五.函数返回值

六.參数

七.默认參数

八.引用參数

九.可变个数函数

十.回调函数

十一.变量函数

十二.递归函数

十三.文件包括







函数分类

1.自己定义函数

2.回调函数

3.变量函数

4.递归函数



语言结构:

if()

for()

while()

switch()





echo()

print()



array()


list()

foreach()



isset()

unset()

   empty()

   

exit()

die()



include()

require()



自己定义函数:

function fun(){}



调用函数

fun()

<?php



function jiutb($num,$color){

   for($i=1;$i<=$num;$i++){

    for($j=1;$j<=$i;$j++){

    echo "<font color='{$color}'>"."$i*$j=".($i*$j)." </font> ";

    }

    echo "<br>";

   }

   echo "<hr>";

}



jiutb(9,"#cccccc");

jiutb(10,"red");

?>



默认參数:

function jiutb($num=9,$color="black"){
}



可变參数



<?php



function fun(){



   echo func_num_args();//得到參数的个数

   echo array_sum(func_get_args());//得到參数的和

}



fun(2,3,4,5);

?

>





无限多參数之和:

<?php



function fun(){



  // echo func_num_args();//得到參数的个数

   //echo array_sum(func_get_args());//得到參数的和

   

   $tot=func_num_args();

   $arr=func_get_args();

   

   

   for($i=0;$i<$tot;$i++){

    $sum+=$arr[$i];

   }

  echo $sum;

}



fun(2,3,4,5);

?>





变量函数

function fun(){}

$a="fun";

$a(2,3,4,5);



变量作用域:

1.全局变量

函数外面的变量

2.局部变量

函数内部的变量

glocalkeyword修饰后能够把局部变量变为全局变量

<?

php



$num=10;



function fun(){

global $num;//能够改动全局变量或者说和外面的变量相同使用

$num=20;

}



fun();



echo $num;

?

>





引用參数:

1.函数内部和外部指向同一个地址

<?

php



$num=10;



function fun(&$i){//&$i表示传的是上文的地址,要改大家一起改

$i++;

}



fun($num);



echo $num;

?>



回调函数:

是參数的一种.

一个函数的參数是还有一个函数的名字,那么这个參数就叫回调函数

<?php



//回调函数





function sum($i,$j){

return $i+$j

}

function fun($a,$b,$k)

echo $k($a,$b);



fun(1,2,"sum");

?>



静态变量

多次调用同一个函数,静态变量能够一直跟踪下去.

//当调用程序的时候,统计这个函数调用了几次.

<?php

$num=0;

//静态变量

function show(){

global $num;

$num++;



echo "这是第{$num}次被调用<br>";

}



show();

show();

?>

静态变量方法:

<?

php





//静态变量

function show(){

static $num;

$num++;



echo "这是第{$num}次被调用<br>";

}



show();

show();

show();

?>



文件包括:

1.include() 包括出错,脚本继续运行

2.require() 假设包括出错,脚本马上终止



递归函数:

函数里面调用本函数


1.求和:

//递归函数

$num=100;

for($i=1;$i<=$num;$i++){

$sum+=$i;

}



echo  $sum ;

函数的调用顺序

show();



function show(){}



show();





6.php运行顺序

1)载入页面

2)语法检測(1.语法检測 2.载入函数)

3)运行脚本

PHP第四课 了解经常使用的函数的更多相关文章

  1. Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持

    Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...

  2. Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战

    Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...

  3. NeHe OpenGL教程 第四十四课:3D光晕

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. NeHe OpenGL教程 第三十四课:地形

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第二十四课:扩展

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. NeHe OpenGL教程 第十四课:图形字体

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第四课:旋转

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. 【C语言探险】 第四课的第二部分:串

    内容简单介绍 1.课程大纲 2.第二部分第四课: 字符串 3.第二部分第五课预告: 预处理 课程大纲 我们的课程分为四大部分,每个部分结束后都会有练习题,并会发布答案.还会带大家用C语言编写三个游戏. ...

  9. 【Linux探索之旅】第二部分第四课:文件操纵,鼓掌之中

    内容简介 1.第二部分第四课:文件操纵,鼓掌之中 2.第二部分第五课预告:用户和权限 文件操纵,鼓掌之中 既然上一课我们学习了Linux中的文件组织方式,那么现在就该是玩弄,啊不,是操纵它们的时候了. ...

随机推荐

  1. 【10】【转】node 之 pipe机制----未理解

    转载地址:http://blog.csdn.net/vieri_32/article/details/48376547 前言 前几天别人请教我关于pipe的问题,我发现我虽然用了nodejs很久,但是 ...

  2. .bat 处理错误码

    某些命令只会返回error level,而要添加互操作性,.bat文件的返回值,exit code应该最后指定,那么需要,在这个单行的命令后面单个添加处理error level 的语句,最后再做统一的 ...

  3. a kind of async programming in c#, need to reference definition

    void Main() { Run d=new Run(RunHandler); IAsyncResult result= d.BeginInvoke(new AsyncCallback(CallBa ...

  4. 反射的基本使用以及原理(Class获取方式)

    1.什么是反射技术? 动态获取指定类以及类中的内容(成员),并运行其内容. 应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象.这时可以根据配置文件的类全名去找对应的字节码文件,并加载进 ...

  5. 关于webpack的cdn配置

    在webpack中活用cdn可以大幅度减少打包文件的体积,配置方法也非常简单. 首先现在入口html文件(index.html)里引入相应cdn连接,然后配置webpack: module.expor ...

  6. Java编程风格学习(一)

    最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则.接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助.不考虑任何编码规范的代 ...

  7. Topcoder SRM 145 DIV 1

    Bonuses 模拟 题意:给你一个序列,按照百分比排序,再将百分比取整,再把剩余百分比加到最大的那几个. 题解:按照题意模拟就好.

  8. Oracle 安装前准备

    [root@localhost Desktop]# groupadd -g 110 oinstall 用来安装oracle软件 [root@localhost Desktop]# groupadd - ...

  9. 图解sql server 命令行工具sqlcmd的使用

    http://blog.csdn.net/bcbobo21cn/article/details/52260733

  10. iOS升级经验分享

    作者认为,及时关注.快速反应.覆盖测试是面对iOS系统升级时最重要的三大原则,文中还详细分析了iCloud Storage和Automatic Reference Counting这两大iOS 5新特 ...