PHP字符串的定义方式和各自区别:
(1)单引号:不解析变量,不能解析转义字符,只能解析单引号和反斜线本身,变量和变量,变量和字符串,字符串和字符串之间用 . 连接,效率更高
(2)双引号:可以解析变量,变量可以用特殊字符和{} 包含,双引号可以解析所有转义字符
(3)heredoc:类似双引号,处理大文本
(4)nowdoc:类似单引号,处理大文本
数据类型
1.标量数据类型
(1)浮点类型:不能用于精度计算,(有时候)会有误差(尤其是判断)
<?php
$a = 0.1;
$b = 0.7;
// print_r($_SERVER['SERVER_ADDR']);
if($a + $b == 0.8){
echo 'True';
}
else{
echo "False";
}
// 当$b = 0.7时,输出 False
// 当$b = 0.07时,输出True
(2)布尔类型:false的情况 ①整型0 ②浮点0.0 ③布尔false ④空字符串 ⑤0字符串 ⑥空数组 ⑦ NULL
2.超全局数组
3.常量:define()不能定义类常量,const可以, 常量一经定义,不能修改和删除
运算符:
(1)递增递减不影响布尔值
(2)递减NULL值没有效果,递增NULL值为1
(3) || 和 && 与 or 和 and的优先级不同
(4)短路作用
遍历数组方式
(1)for,while,do-while循环
只能遍历索引数组
(2)foreach() 循环
可以遍历索引和关联数组,遍历时会对数组进行 reset() 操作,将数组指针重置
(3)while,list(), each() 组合使用
组合使用可以遍历索引和关联数组,不会对数组指针操作
如果要在函数体内使用外部变量,需要使用 global 关键字
static 关键字
(1)仅初始化一次
(2)初始化时需要赋值
(3)每次执行函数该值会保留
(4)static 修饰的变量是局部的,仅在函数内部有效
(5)可以记录函数的调用次数,从而可以在某些条件下终止递归
默认情况下,函数参数通过值传递
如果希望允许修改它的值,必须通过引用传递参数