1.1 变量赋值
变量的传值赋值与引用赋值的区别,变量都是存放在栈内存中的,传值赋值时重新分配内存,引用是指向共同的内存.使用“&”符号实现引用赋值。
$a = 11; $b = $a; $b = 22; echo $a."<br>"; echo $b; $c = &$a;//引用赋值 $c = 33; echo $a."<br>"; echo $c;
<Result>
11 22 33 33
1.2 静态变量
静态变量的作用范围与局部变量相同,但是生命周期与全局变量相同。我们可以这样理解静态变量:只有该函数首次被调用时,取函数体内静态变量的初始值。以后再次调用该函数时,静态变量取值将是上次调用这个函数后得到的值。在为静态变量赋初值时,不可以将一个表达式赋给这个静态变量。
function test(){ static $a = 0; echo $a."<br>"; $a = $a +1; } test(); test(); test(); echo $a;//无输出值
<Result>
0 1 2
1.3 可变变量
变量的变量名称是由其他变量的值决定的,因此这个变量的名称是可变的.使用符号“$$”表示。
$a = "Hello"; $$a = "World"; echo $a; echo "<br>"; echo $Hello;
<Result>
Hello
World
2.1 字符串
如果这个变量是 字符串 那你用 {} 可以用于指示字符串变量中的单个字符(下标从0开始)
//字符串 $my_str="1234"; $my_str{1}='5'; //现在 $my_str 内容为 '1534' //如果是数组 就用 [ ]也可以如下使用 $str = " a {$a[0]} b c "; //等于 $str = 'a '.$a[0].' b c ';