1.要弄懂“~”运算符的计算方法,首先必须明白二进制数在内存中的存放形式,二进制数在内存中是以补码的形式存放的
另外正数和负数的补码不一样,正数的补码,反码都是其本身,即:
正数9(1001)在内存中存储为01001,必须补上符号位
补码为01001
反码为01001,其中前面加的0是符号位,负数的是1
负数 -1(10001,开头的1为符号位)在内存中存放为,11111
其中11111为其补码
反码为11110
负数的补码是:符号位不变,其余各位求反,末位加1 ,即11111
反码是:符号位为1,其余各位求反,但末位不加1 ,即11110
也就是说,反码末位加上1就是补码
------------------------------------------------------------------------------------------------------------------------------------
弄懂了上述情况后,如何计算就好办了
假设有一个数~9,计算步骤如下,9=1001
其补码为01001,
对其取反10110,这个数是在内存中存放的,现在需要装换成原码,即先减1,然后取反得
11010,符号位为1是负数,即-10
2.单引号和双引号包含变量的区别
<?php
header("Content-type: text/html; charset=utf-8");
$a = "你好,欢迎来到PHP的世界!";
echo "<h3>$a</h3>";
echo ‘<h4>$a</h4>‘;
?>
输出结果:如果在单引号和双引号定义的字符串包含变量名,双引号所包含的变量名会自动被替换成变量的值,而在单引号中包含的变量名则按普通字符串输出,如下:
3.定界符:应用定界符定义字符串并输出,可以看出它和双引号没有什么区别,字符串中包含的变量也被替换成实际变量的值。(值得提出的一点,结束标识符必须单独另起一行,并且不允许有空格,如果在标识符前后有其他符号或字符就会发生错误)
<?php
header("Content-type: text/html; charset=utf-8");
$i = "PHP";
echo <<<std
Hello,welcome to here!<p>
Do you like $i?
std;
?>
4.条件为假的情况:
在PHP中,不是只有false值才是为假,在一些特殊情况下,如0、0.0、”0”、空白字符串("”)、只声明没有赋值的数组等,它们的布尔值也被认为是false。
5.php的数据类型可以分为3种,即标量数据类型、复合数据类型和特殊数据类型。
①标量数据类型:boolean(布尔型)、string(字符串型)、integer(整型)、float(浮点型)
②复合数据类型:array(数组;ps:数组下标是字符,在调用时下标需要单引号引起)、object(对象)
③资源(resource)、空值(null);
6.PHP中优先级从高到低顺序:&& > || > and > or;