返回
PHP变量

PHP 中的变量用一个美元符号 后面跟变量名来表示。变量名是区分大小写的。

一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

基础

变量赋值方式有两种,传值赋值和引用赋值

<?php
$var="我是变量";
$var="我是可变的哦";
echo $var;
?>

<?php
$foo = 'Bob';              // 将 'Bob' 赋给 $foo
$bar = &$foo;              // 通过 $bar 引用 $foo
$bar = "My name is $bar";  // 修改 $bar 变量
echo $bar;
echo $foo;                 // $foo 的值也被修改
?>

预定义变量

预定义变量是系统自带的变量,PHP提供了大量的预定义变量

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

大家可以通过print_r();来查看变量的数据

变量范围

变量的范围即它定义的上下文背景(也就是它的生效范围)。大部分的    PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了    include 和 require 引入的文件。

变量范围通常我们可以理解为函数外和函数内的变量。

$a=1;
function a(){
    echo $a;
}

function b(){
    global $a;
    echo $a;
}

function c(){
    echo $GLOBALS['a'];
}

静态变量

静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。可以理解为函数内只初始化一次的变量

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


可变变量

PHP的变量名可以动态的设置和使用

<?php
$a="c";
$c=123;
echo $$a;//123
?>