编程语言
首页 > 编程语言> > PHP7 PHP基本语法——PHP变量

PHP7 PHP基本语法——PHP变量

作者:互联网

什么是PHP变量?
  变量是用于临时存储值的容器。这些值可以是数字、文本,或者复杂得多的排列组合。PHP 没有声明变量的命令,变量在您第一次赋值给它的时候被创建:

<?php
$y='Hello world!';#美元符号“$”后跟变量名y,并给变量y赋值Hello world!。
echo $y; #运行结果为:Hello world!

PHP 变量规则

PHP可变变量
  一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。

$a = 'hello';
$$a = 'world';
echo "$a ${$a}";
echo "$a $hello";
#它们都会输出:hello world。

扩展:{$variable}就是告诉PHP,{}括起来的要当成变量处理。

PHP变量赋值
  在 PHP 中,为一个变量赋值的方式有三种,分别是直接赋值、拷贝赋值和引用赋值,下面就来分别介绍一下。

PHP变量作用域
  变量的作用域是脚本中变量可被引用/使用的部分,范围跨度同样包含了 include 和 require 引入的文件。按作用域可以将 PHP 变量分为全局变量和局部变量两种。

PHP预定义变量
  预定义变量通常被称为自动全局变量(autoglobals)或者超全局变量(superglobals),它们不需要提前声明就可以在所有的作用域中使用。通过这些预定义变量可以获取用户会话、用户操作系统的环境和本地操作系统的环境等信息。

在函数或类方法中,超全局变量不能被用作可变变量。

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS — 引用全局作用域中可用的全部变量
$_SERVER —服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量
$_ENV — 环境变量
$_COOKIE — HTTP Cookies
$php_errormsg — 前一个错误信息
$http_response_header — HTTP 响应头
$argc — 传递给脚本的参数数目
$argv — 传递给脚本的参数数组

PHP static:静态变量
变量范围的另一个重要特性是静态变量(static variable)。语法:定义一个静态变量:static $variable = $value;当同时定义多个静态变量static $variable1, $variable2, ...。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:

<?php
function Test()
{
    $a = 0;
    echo $a;
    $a++;
}

本函数没什么用处,因为每次调用时都会将 $a 的值设为 0 并输出 0。将变量加一的 $a++ 没有作用,因为一旦退出本函数则变量 $a 就不存在了。要写一个不会丢失本次计数值的计数函数,要将变量 $a 定义为静态的:

<?php
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}

现在,变量 $a 仅在第一次调用 test() 函数时被初始化,之后每次调用 test() 函数都会输出 $a 的值并加一。
和局部变量相比,静态变量具有一下特点:

注意:对于变量的 static 和 global 定义是以引用的方式实现的。在函数外面使用静态变量时并不会报错,这时它的生命周期与作用域和全局变量是一样的;在函数内部定义静态变量时,它的生命周期也和全局变量一样,但是作用域和局部变量的作用域一样的。

标签:PHP,变量,作用域,语法,PHP7,其值,全局变量,函数
来源: https://blog.csdn.net/qq_41964263/article/details/117844895