变量范围的另一个重要特性是静态变量。静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子:
<?php
function test()
{
$a = 0;
echo $a;
$a++;
}
每次调用时都会将 $a 的值设为 0 并输出 0。将变量加一的 $a++ 没有作用,因为一旦退出本函数则变量 $a 就不存在了。
要写一个不会丢失本次计数值的计数函数,要将变量 $a 定义为静态的:
<?php
function test()
{
static $a = 0;
echo $a.PHP_EOL;
$a++;
}
test();
test();
结果输出
0
1
可变变量
一个变量的变量名可以动态的设置和使用,例如:
<?php
$a = 'hello';
$$a = 'world';
var_dump($a,$hello);
结果输出
string(5) "hello"
string(5) "world"
上例中动态设置了一个变量 $hello,通常多个 $
会依次从最后边开始解析,最后生成 $
前一个值为名称的变量。
<?php
$a = 'b';
$b = 'c';
$c = 'd';
$$$$a = 'bcd';
var_dump($d);
结果输出
string(3) "bcd"
常量
常量定义
命名规范
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)