1、变量的声明和创建
变量是存储信息的容器:
PHP 没有创建变量的命令。
变量会在首次为其赋值时被创建:
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
注意:变量严格区分大小写,不能以数字开头,可以用中文命名(不建议)
2、删除变量
使用unset($变量名)删除变量,删除的变量相当于没有定义
3、变量分类
a.普通变量:$str="今天天气不错";
b.可变变量:$$str="aaaaaaaaaaaaa";
c.引用变量:$str=&$str2;
4、变量作用域
全局变量:在函数外部定义的变量,默认情况下只能在函数外部使用 局部变量:在函数内部定义的变量,只能在定义该变量的函数内部使用 超全局变量:在php脚本任何地方都可以使用PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
local(局部):函数内部声明的变量拥有 Local 作用域,只能在函数内部进行访问。
global(全局):函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
static(静态):函数完成/执行后,会释放所有变量。如果需要不清除某个局部变量,需要将其定义为static变量
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
每当函数被调用,该变量所存储的信息都是函数最后一次被调用时所包含的信息。
注释:该变量仍然是函数的局部变量。
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 输出 15 ?>
PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; // 输出 15 ?>
5、变量测试
测试一个变量是否存在isset();
测试一个变量的值是否为空empty();