php 局部变量和,php函数中局部变量和全局变量的区别

在程式内定义的变量称为局部变量,只在程式内部使用,随程式结束而消失。定义在程式外部的变量就叫全局变量,可以被程式呼叫,但不会随程式结束而消失。前面的章节分别介绍了php函数的自定义函数的局部变量和自定义函数的全局变量。定义一个函数 这个函数里的变量都是局部变量 它们只能在这个函数内部使用 return是这个函数的返回值 调用这个函数就会输出这个值 这个值可以是函数内的变量 也就是局部变量。而全局变量是在函数外部定义的变量,它的作用域从定义处一直到文件结尾。

在php中函数被视为单独的程序片,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖。

下面通过一个实例来说明它们的区别:<?php

//局部变量测试

$s1= "out s1"; //全局变量

function say(){

$s1 = "in s1"; //局部变量

echo "say():$s1";

}

say(); //输出局部变量: in s1

echo "
";

echo "function out:$s1"; 输出全局变量:out s1

//static变量测试

function count1(){

$num = 0;

$num++;

echo $num." ";

}

function count2(){

static $num = 0;

$num++;

echo $num." ";

}

for($i=0; $i<10; $i++){

count1(); //11 1 1 1 1 1 1 1 1 1

}

echo "
";

for($i=0; $i<10; $i++){

count2(); //1 2 3 4 5 6 7 8 9 10

}

echo "
";

//全局变量在函数中运用,加global

$a="php";

$b = "java";

function show(){

echo $a; // 无输出

global $b;

echo $b; //定义global,输出java

}

show();

?>

局部变量和全局变量的区别说明:

1. 局部变量在函数内部可以访问内部变量,输出结果;在函数外部不能访问函数内部的变量,所以无法输出结果;如果在函数外部需要调用该变量值,必须通过 return 指令将其值传回至主程序区块以作后续处理。

2. 在PHP中,由于函数可以视为单独的程序代码片段,所以局部变量会覆盖全局变量的能见度,因此在函数中无法直接调用全局变量。在函数中若要使用全局变量,必须要利用关键字定义目标变量,而这个全局变量的关键字为 “ global ”, 使用关键字“global”你就可以把全局数据导入到一个函数的局部范围内,以告诉函数主体此变量为全局变量。

3. PHP中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。上面的事例中分别使用 static 和不用 static 变量的,朋友们可以仔细对比一下。

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程》

2. php编程从入门到精通全套视频教程

3. php实战视频教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值