变量
定义
存储数据的容器。可以把变量理解为鞋盒,数据理解为球鞋。
PHP变量
命名规则
- 首位:字母或下划线开头
- 其余位:字母、数字字符和下划线(A-z、0-9、_)
温馨提示:变量名对大小写敏感
创建变量
变量在首次为其赋值时,被创建。
<?php
$text="Hello World!";
$a=10;
$b=10.1;
?>
变量的标志是:$。PHP会根据变量转换其对应的数据类型
作用域
全局变量
定义:只能在函数以外的范围访问
如果你是函数,你可能会疑惑,不是说好是全局变量的吗?怎么就在我这不行了?
不,不,因为在函数内部是一件独特的事情,所以需要申明一下——global 或 $GLOBALS['变量名']。
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
//PHP在$GLOBALS[]的数组中存储了所有的全局变量
//此数组在函数内可以访问,且能够用于直接更新全局变量
}
myTest();
echo $y; // 输出 15
?>
局部变量
定义:只能在函数内部进行访问。
可以理解为局部变量的生命周期为其所在的函数内。除了这个函数他就挂了,挂了它就没了,就找不到它了。
静态变量
静态变量的标志是:static
该怎么理解静态变量呢?先来陈述一个事实:函数运行结束后,会将变量里的值丢弃
可有时候,我们需要这个变量,去做下一步运算。这时候,就需要用到静态变量。
<?php
function mytext()
{
static $x=0;
echo $x;
$x++;
}
mytext();
mytext();
mytext();
?>
结果为:3
常量
定义:单个值的名称(在脚本中无法改变)
命名规则:
- 没有$符号
- 以字符或下划线开头
范围
常量的存在范围是全局有效,它与全局变量的差别是,在函数内部,不需要去申明下,它是自动的
举个例子:
<?php
define("constant","php");
function mytxt()
{
echo constant;
}
mytxt();
?>
语法
define()函数
- 第一个参数:常量的名称
- 第二个参数:常量的值
- 第三个参数:定义大小写是否不敏感,默认false(对大小写是否不敏感为假,代表对大小写敏感)
<?php
define ("content",1);//对大小写敏感
echo content;
echo "<br/>";
echo CONTENT;
?>
如果define ("content",1);
为define("content","1");
结果依然是1,只不过前者是整型的1,后者为字符串的1.
<?php
define ("content",1,true);//对大小写不敏感
echo content;
echo "<br/>";
echo CONTENT;
?>