PHP与函数(二)

一、函数的作用域

1.默认状况下,在PHP中,函数运行时有其自己独立的变量空间,函数体内的变量与外界的变量无关,即使时变量的名字相同。
2.内部的变量叫做“局部变量”,外部的变量叫做“全局变量”。
3.函数调用结束后,申请的独立的“调用空间”就会被释放掉,下次再调用时,再次申请,函数还得从头初始化。

二、函数的执行权

1.当调用函数的时候,程序的执行权进入到函数内部。
2.当函数语句运行完之后,执行权就会交回。或者是碰到return之后,函数也会交回执行权。

三、函数的返回值

1.调用函数的返回值,即是return的值,如果没有return语句,或者“return;”,则返回值是NULL。
2.思考:函数可不可以如turn回来两个值?
  答:不可能,函数的定义就决定了不可以。从数学上看,一组确定的参数,只能得到一个确定的函数结果;从程序上看,"return
    值1;"之后,函数结束,也不可能再return第二个值,

四、动态函数

1.即"函数的名字"可以用变量来表示。
<?php
    function foo()
    {
        foo1();
        foo2();
    }
    function foo1()
    {
        echo 'Hello ';
    }
    function foo2()
    {
        echo 'World!';
    }
    foo();
?>

五、引用传参

<?php
    $age=5;
    echo $age,'<br />';  //输出5

    function foo3(&$num)
    {
        $num+=5;
    }
    foo3($age);
    echo $age,'<br />';  //输出10
?>
上面这个例子中,函数内部的$num指向外部的一个全局变量的地址,因此$num变化时,影响了外部的$age也变。

同时,我们也可以知道:函数局部内的变量和全局的变量,并不是水火不容的,是有机会相互影响的。比如上面的“引用传参”,以及
“超全局变量”。

六、超全局变量

1.一般情况下,页面内声明的“普通全局变量”在函数内访问不到,但是“常量”在函数能访问到;还有一类变量——超级全局变量,无
  论时多深层的函数内,还是以后的对象的方法体内,都可以直接访问到。
2.九大超级全局变量(全大写)
  (1)$_GET    :可用于收集提交 HTML 表单 (method="get") 之后的表单数据。$_GET 也可以收集 URL 中的发送的数据。
  (2)$_POST   :广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。
  (3)$_REQUEST:用于收集 HTML 表单提交的数据。
  (4)$_FILES  :通过 HTTP POST 方式上传到当前脚本的项目的数组。
  (5)$_COOKIE :通过 HTTP Cookies 方式传递给当前脚本的变量的数组。
  (6)$_SESSION:当前脚本可用 SESSION 变量的数组。
  (7)$_ENV    :通过环境方式传递给当前脚本的变量的数组。
  (8)$_SERVER :这种超全局变量保存关于报头、路径和脚本位置的信息。
  (9)$GLOBALS :这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
                PHP 在名为$GLOBALS[index]的数组中存储了所有全局变量。变量的名字就是数组的键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值