学习概要:

一.语言结构

二.自己定义函数

三.变量作用域

四.静态变量

五.函数返回值

六.參数

七.默认參数

八.引用參数

九.可变个数函数

十.回调函数

十一.变量函数

十二.递归函数

十三.文件包括







函数分类

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. 【Reship】use of tangible T4 template engine

    1.first of all 之前在 “使用T4模板生成代码 – 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “Multipl ...

  2. Cryptography I 学习笔记 --- 数论简介

    0. Zn代表{0,1....n-1}的集合 1. 模运算符合交换律结合律 2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到. 3. 模逆(modular ...

  3. 洛谷——P2040 打开所有的灯

    P2040 打开所有的灯 题目背景 pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz... 题目描述 这个灯很奇(fan)怪(ren),点一下就 ...

  4. MySQL Workbench关键字转成小写设置

  5. 以root用户身份在jenkins中运行shell命令

    以下过程是CentOS 1.打开此脚本(使用VIM或其他编辑器): vim /etc/sysconfig/jenkins 2.找到$JENKINS_USER并更改为“root”: $JENKINS_U ...

  6. Windows 远程桌面文件传输的方法

    实现电脑的远程连接以后,很多时候会需要进行主机间的文件传输,这个时候就可以用系统自带的远程连接里的磁盘映射来完成,详细如下: 远程桌面程序内置了映射磁盘的功能,通过这个功能可以实现远程登录服务器时自动 ...

  7. main函数参数

    方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...

  8. [Js]删除数组指定元素

    写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项 ...

  9. C# 计算一串字符串算法

    工作中遇到一个小问题,就是要做一个类似excel那种的公式的东西,就是A0+A1*B0那样的公式,然后得出结果. 首先,分析. 这不是计算器,计算器要比这个简易,计算器是所按即所得,即你点击+-之类的 ...

  10. java关于Timer schedule执行定时任务 1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等

    1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类. private java.util.Time ...