1.什么是引用变量?在PHP当中,用什么符号,什么符号定义引用变量?
概念:
在PHP中引用意味着用不同的名字访问同一个变量的内容
定义方式:
使用&符号
2.引用变量的工作原理
a
=
r
a
n
g
e
(
0
,
1000
)
;
/
/
开
辟
一
个
内
存
空
间
存
a = range(0,1000); //开辟一个内存空间存
a=range(0,1000);//开辟一个内存空间存a
$b = $a; //这个赋值不会开辟一个新的内存空间 因为php有一个COW机制 copy on write
$a = range(0,1000); //此时a变量被剔除,重新开辟一片内存空间
3. unset只会取消引用,不会销毁空间
3.上面知识小结:
说白了php的引用就好比一个房间的门牌号,多一个引用就多挂一个门牌号
4.单引号和双引号
单引号不解析变量
单引号不能解析转义字符,只能解析单引号和反斜线本身
变量和变量, 变量和字符串,字符串和字符串之间可以用 . 连接
双引号可以解析变量,变量可以使用特殊字符和{}包含
双引号可以解析所有转义字符 也可以使用.来连接
单引号效率更高
5.浮点类型注意
浮点类型不能运用到比较运算中
$a = 0.1;
b
=
0.7
;
i
f
(
b=0.7; if (
b=0.7;if(a +
b
=
=
0.8
)
=
=
=
>
这
个
写
法
错
误
注
意
:
上
面
b == 0.8) ===> 这个写法错误 注意: 上面
b==0.8)===>这个写法错误注意:上面a+$b不等于0.8 因为0.1+0.7 = 0.79999… 所以false
-
foo()和@foo()之间的区别
PHP的运算符的错误控制符@
当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都忽略掉 -
跳出两次循环
continue语句作用到switch的作用类似于break
跳出switch外的循环,可以使用continue 2 即跳出两层循环
for () {
switch ($var) {
case …;
continue; ->continue2 //跳出两层循环 第一层 switch 第二层for
break;
case …;
break;
default: …;
break;
}
}
第一层跳出switch 第二层跳出for