1.$i++与$i--用法
$i = 5;
$i++;
echo $i."<br/>";
echo $i+++$i++."<br/>";
echo $i."<br/>";
echo $i---$i--.."<br/>";
echo $i;
运行结果:
5 11 7 1 5
($i++与$i--)和(++$i与--$i)有本质的区别:
+号-号在前是预递增或预递减
在后是后递增或后递减
2.引用传值
$a = '1';
$b = &$a;$b = "2$b";
$a和$b的值???
21 21
这里使用了& 号也就是说$b引用了$a的值,并不是赋值
3.var_dump()
var_dump(0123 == 123);//false
var_dump('0123' == 123);//true
var_dump('0123' === 123);//false
这里显然体现了,进制之间的转化,变量 类型之间的不同,==与===之间的不同
0123系统会默认的转化为8进制因此第一个是false
第二个字符串0123系统会默认的将0转化掉
第三个考察的是变量类型的一致性
4.$x = true and false;
var_dump($x);//true
我想大家会以为这个程序输出的是false而不是true吧
这里反映的是我们逻辑运算符的优先级
=>and
5.$number = 5 + '12%' + '@25';
echo $number;//17
6.$text = "phil ";
$text[10] = "dudongjiang";
echo strlen($text);//11
分析:
$text[10]只会赋值一个,phil后面又连续的6个 空格
7.变量比较
$x = 5;$y = 3;$z = 4;
if($x>$y>$z){
echo "yes";
}else{
echo "no";
}
//no
8.编码
$x = "abcdefghi";
$y = "你是猪吗";
if(strlen($x)>strlen($y)){
echo "yes";
}else{
echo "no";
}
分析:
gbk占用两个字节
utf-8占用三个字节