PHP第四课 了解经常使用的函数
学习概要:
一.语言结构
二.自己定义函数
三.变量作用域
四.静态变量
五.函数返回值
六.參数
七.默认參数
八.引用參数
九.可变个数函数
十.回调函数
十一.变量函数
十二.递归函数
十三.文件包括
函数分类
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第四课 了解经常使用的函数的更多相关文章
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
- Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战
Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...
- NeHe OpenGL教程 第四十四课:3D光晕
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第三十四课:地形
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第二十四课:扩展
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第十四课:图形字体
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- NeHe OpenGL教程 第四课:旋转
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 【C语言探险】 第四课的第二部分:串
内容简单介绍 1.课程大纲 2.第二部分第四课: 字符串 3.第二部分第五课预告: 预处理 课程大纲 我们的课程分为四大部分,每个部分结束后都会有练习题,并会发布答案.还会带大家用C语言编写三个游戏. ...
- 【Linux探索之旅】第二部分第四课:文件操纵,鼓掌之中
内容简介 1.第二部分第四课:文件操纵,鼓掌之中 2.第二部分第五课预告:用户和权限 文件操纵,鼓掌之中 既然上一课我们学习了Linux中的文件组织方式,那么现在就该是玩弄,啊不,是操纵它们的时候了. ...
随机推荐
- 【Reship】use of tangible T4 template engine
1.first of all 之前在 “使用T4模板生成代码 – 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “Multipl ...
- Cryptography I 学习笔记 --- 数论简介
0. Zn代表{0,1....n-1}的集合 1. 模运算符合交换律结合律 2. gcd(greatest common divisor),可以由扩展欧几里得算法快速得到. 3. 模逆(modular ...
- 洛谷——P2040 打开所有的灯
P2040 打开所有的灯 题目背景 pmshz在玩一个益(ruo)智(zhi)的小游戏,目的是打开九盏灯所有的灯,这样的游戏难倒了pmshz... 题目描述 这个灯很奇(fan)怪(ren),点一下就 ...
- MySQL Workbench关键字转成小写设置
- 以root用户身份在jenkins中运行shell命令
以下过程是CentOS 1.打开此脚本(使用VIM或其他编辑器): vim /etc/sysconfig/jenkins 2.找到$JENKINS_USER并更改为“root”: $JENKINS_U ...
- Windows 远程桌面文件传输的方法
实现电脑的远程连接以后,很多时候会需要进行主机间的文件传输,这个时候就可以用系统自带的远程连接里的磁盘映射来完成,详细如下: 远程桌面程序内置了映射磁盘的功能,通过这个功能可以实现远程登录服务器时自动 ...
- main函数参数
方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...
- [Js]删除数组指定元素
写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项 ...
- C# 计算一串字符串算法
工作中遇到一个小问题,就是要做一个类似excel那种的公式的东西,就是A0+A1*B0那样的公式,然后得出结果. 首先,分析. 这不是计算器,计算器要比这个简易,计算器是所按即所得,即你点击+-之类的 ...
- java关于Timer schedule执行定时任务 1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等
1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类. private java.util.Time ...