变量是存储信息的容器
// 例
<?php
$a=5;
$b=6;
$c=$a+$b;
echo $c;
?>
PHP 变量规则:
①变量必须以美元符号$开头,其后是变量的名称
②由英文字母、数字和下划线组合而成,但是不能以数字开头
③变量名称对大小写敏感
创建 PHP 变量
PHP 没有创建变量的命令。
由于PHP是弱类型语言,所以不需指定数据类型。
变量会在首次为其赋值时被创建:
例:
<?php
$txt="hello";
$x=10;
$y=9;
?>
以上语句执行后,变量 txt 会保存值 hello,变量 x 会保存值 10,变量 y 会保存值 9。
输出变量类型的函数
**gettype()**函数用于获取变量的类型。
例如:
<?php
echo gettype(102); // integer
echo gettype(true); // boolean
echo gettype('aaaa') ; // string
echo gettype(null) ; // NULL
echo gettype(array()); // array
echo gettype(new test()); // object
?>`
PHP 变量作用域
在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本。
PHP 有三种不同的变量作用域:
- local(局部)
- global(全局)
- static(静态)
Local 和 Global 作用域
函数之外声明的变量拥有 Global 作用域,只能在函数之外进行访问。
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
下面的例子测试了带有局部和全局作用域的变量:
实例:
<?php
$x=5; // 全局变量
function myTest() {
$y=10; // 局部变量
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
在上例中,有两个变量 $x 和 y , 以 及 一 个 函 数 m y T e s t ( ) 。 y,以及一个函数 myTest()。 y,以及一个函数myTest()。x 是全局变量,因为它是在函数之外声明的,而 $y 是局部变量,因为它是在函数内声明的。
如果我们在 myTest() 函数内部输出两个变量的值,$y 会输出在声明的值,但是无法 $x 的值,因为它在函数之外创建。
如果在 myTest() 函数之外输出两个变量的值,那么会输出 $x 的值,但是不会输出 $y 的值,因为它是局部变量,并且在 myTest() 内部创建。
PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,一定要在函数内部变量的前面使用 global 关键词。
例:
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
PHP static 关键词
静态变量在函数内部声明,函数执行后气质并不消失。
要完成这一点,要在首次声明变量时使用 static 关键词。
例:
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>