首页 >后端开发 >php教程 > 正文

PHP 变量的四大作用域

转载2020-01-15 11:46:5901085
PHP 变量作用域

● local

● global

● static

● parameter

局部作用域、全局作用域

<?php
$x = 50; // 全局变量
function myTest()
{
    $y = 100; // 局部变量
}

PHP global 关键字

global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,可以在函数中的变量前加上 global 关键字。

<?php
$x = 50;
$y = 100;
function myTest()
{
    global $x, $y;
    $y = $x + $y;
}
myTest();
echo $y;  // 输出 150

PHP 将所有全局变量存储在一个名为 $GLOBALS 的数组中。

所以上述代码可以换一种写法:

<?php
$x = 50;
$y = 100;
function myTest()
{
    $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
} 
myTest();
echo $y;

PHP Static 作用域

PHP 当一个函数完成时,它的所有变量通常都会被删除。为了有些局部变量不被删除,可以在第一次声明变量的时候使用 static 关键字。

<?php
function myTest()
{
    static $x = 0;
    echo $x;
    $x++;
    echo PHP_EOL;
}
myTest();
myTest();
myTest();

参数作用域 (形参)

参数声明作为函数声明的一部分。

<?php
function myTest($x)
{
    echo $x;
}
myTest('Galois');
myTest(8888);

小补充:

打印数组方式:

echo '<pre>';
print_r($arr);

相关推荐:php教程

以上就是PHP 变量的四大作用域的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:PHP
  • 本文转载于:learnku,如有侵犯,请联系a@php.cn删除
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 与闭包有关概念:生存周期。下面本篇文章就来给家介绍一下JavaScript中及闭包,有一定参考价值,有需要朋友可以参考一下,希望对家有所帮助。
    在定义后,默认情况下,可以在函数中使,而在函数外则不可以,这个范围就是。在函数中定义称为局部,在函数外定义称为全局
    在项目中,难免会遇到闭包形式,那么在闭包中,到底是怎么样呢。下面有几个简单例子。
    php超全局就是使许多预定义在一个脚本全部中都可,并且在函数或方法中无需执行“global $variable;”就可以访问它们。
    php有:、静态、匿名函数use,函数内部不能访问函数外部,但在匿名函数中,可以通过use将外部引入匿名函数中。
    java中全局和局部区别:1、不同,全局具有全局,局部只有局部;2、初始值不同;3、声明上不同;4、优先级不同。
    超全局PHP 4.1.0 中引入,是在全部中始终可内置PHP许多预定义都是“超全局”,这意味着它们在一个脚本全部中都可
    在C语言中static主要定义全局静态、局部静态和静态函数。static限定了全局静态、限定了局部静态生命周期、限定了静态函数仅限于本文件。
    java全局和局部区别:不同,全局在整个类中可;局部,该方法内可。初始值不同,全局,有初始值;局部,无初始值。
    php中static关键字是:1、放在函数内部修饰,函数执行完后值仍然保存;2、放在类中修饰属性或方法,如果修饰是类属性,则保留值;3、放在类方法中修饰;4、修饰全局
    每声明一个函数就会产生一个。而外面访问不了里面(把里面和函数隐藏起来),而里面可以访问到外面。对于隐藏和函数是一个非常有技术。
    超全局是PHP4.1引入,在全部中始终可内置。在函数或方法中无需使global关键字就能访问超全局
    本文为各位介绍了js中和闭包概念及案例,希望对需要朋友有帮助!JS中有两种:全局、局部。闭包就是指有权访问另一个函数函数。
    php分为系统内置常和自定义常两种。
    本教程将介绍什么是,如何声明和命名,并进一步研究var、let和const之间区别。我们还将回顾提升影响以及全局和局部行为重要性。
    解决PHP内存溢出问题方法:1、要增加PHP内存小;2、对数组进行分批处理,将及时销毁;3、尽可能减少静态使;4、数据库操完成后,要马上关闭连接。
    python全局和局部区别在于,全局在整个py文件中声明,全局范围内可以使;局部是在某个函数内部声明,只能在函数内部使,如果超出使范围(函数外部),则会报错。
    在js,window对象有着双重角色,既是来访问浏览器窗口接口,又是Global对象。也正因为此,所有全局中声明、函数都会成window对象属性和方法。
    本文由java入门教程栏目为家介绍引类型法,希望可以帮助到家。法一:class为成员法二:interface为成员法三:interface为方法参数和返回值类型。
    php将字符串转换成int类型方法:1、在要转换之前加上括号括起来目标类型;2、使PHP内置函数intval进行转换操;3、利sprintf“%d”格式化指定

    专题推荐

    推荐视频教程
  • PHP文件基础操作PHP文件基础操作
  • PHP开发免费公益直播课PHP开发免费公益直播课
  • Thinkphp6.0正式版视频教程Thinkphp6.0正式版视频教程
  • PHP快速操控Excel之PhpSpreadsheetPHP快速操控Excel之PhpSpreadsheet
  • 视频教程分类