函数:全局,局部变量,递归函数

函数
一、语法:定义
//函数:完成指定任务的功能代码块,是一个已经命名的。
function 函数名( [参数1,参数2...] ){
函数体(语句)
[return 返回值;]
}
使用: 函数名([参数。]);
注意:变量要先定义赋值,才可以输出,但函数的定义和使用不部分先后顺序的。
示例:
//定义一个求累加的函数,要求参数一个:表示要累加的值,返回求和后的结果 function doSum($m){
$sum=0;
for($i=0;$i<=$m;$i++){
$sum+=$i;
}
return $sum;
}
2. 判断函数是否存在: funciton_exists("函数名"); 返回真true或假false
认识一个函数从3个方面:
1. 函数的功能 2. 参数的类型,是否可选
3. 返回值
二、变量的作用域(范围)
(1)由于函数的出现,导致变量的能见度(生命周期)不同。
共划分为:全局变量、局部变量、 静态变量:
1. 全局变量:就是在函数外定义变量
作用域:在函数外和函数内都可以看到的,并可以使用的变量
注意:在函数内使用函数外的全局变量要使用global关键字先声明一下。
<?php
$a=10;//定义一个变量a值为10
$b=20;
function fun(){
global $a;
echo $a; //输出变量a的值10
echo $b; //输出变量b的值,结果没有(因为没有使用global)
?>
2. 局部变量:在函数内定义的变量
<?php
//变量的作用域:局部变量
//定义一个函数
function fun(){
$a=100; //函数内定义变量
echo $a; //输出变量a的值100
}
fun(); //调用函数fun
echo $a; //没有输出,在函数内定义的变量,在函数外是无法使用的
?>
3. 静态变量:在函数内使用static关键字定义的变量
//变量作用域:静态变量的使用
function fun(){
static $i=1; //在当前脚本中连续多次调用本函数,i依然有效,里面的静态声明(初始化)只会调用一次。
$i++;
echo $i."<br/>";
}
fun(); //1
fun(); //2
fun(); //3
fun(); //4
三、函数中参数的传递:值传递、引用方式传递、参数默认值、可变长度参数列表。
1.值传递:
在定义函数时的参数是普通参数;
2.引用方式传递:
使用&符来实现引用传递,就是将参数直接给给函数使用。(起别名)
假如函数内容发生改变,会使当前参数也发生改变。 注意:调用引用参数时,必须使用变量,不可以直接用值。
如:fun($x); 不可以使用fun(10);
在定义函数时的参数是使用&标识的参数;
function myadd($x,$y,&$z){
$z=$x+$y;
}
$a=10;
$b=20;
$sum=0;
myadd($a,$b,$sum);//调用函数myadd,将前两个参数的和赋给第三个参数
echo $sum; //30
3.参数默认值:
我们可以在定义函数时,将部分参数提前附上初始值,
当被调用时没有给这参数传值,就会采用默认值,以保障函数正常使用。
要求默认值从参数的右边开始。 4.可变长度参数列表。
此函数的参数个数任意个。
func_get_args();//以数组的方式返回所有的参数信息
func_get_arg($index) //获取指定参数位置(index:从0开始的整数)的信息
func_num_args()//获取参数的个数。
5. 变量函数:就是调用函数使用的不是直接的函数名,而是一个变量。
如:
要调用add函数。应该是:add(10,20);
但是: $name="add"; $name(10,20); 等价于add(10,20);

四. 变量函数
就是函数的名字也是个变量时,就是变量函数。
$name="sum";
$name(); //等价于 sum( );
五. 递归函数:
递归函数--就是在函数体的代码中出现了调用自己本身函数的语句。注意递归的结束。

六.require和include
通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require和include 所指定引入的文件,使它变成 PHP 程序的一部份。常用的函数,亦可以这个方法将它引入当前脚本中。
区别:
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值