终结如下:
手册:http://php.net/manual/zh/
整型
1- Parse error: 解析错误; syntax error:语法错误
2- var_dump()函数;
<?php
$a = 1.1;
var_dump($a);
?>
输出变量 a 的信息:float(1.1)
3- php 的变量的数据类型是变化的,变量的数据类型是由运行时的上下文决定的。因此,php 属于弱数据类型编程语言。
4-php 变量名称区分大小写,以字母、下划线开头,后跟任意个数的字母、数字、下划线。
5- php 的数据类型分为三大类:基本 数据类型、复合数据类型和 特殊数据类型。
(1)基本数据类型分为:整型、浮点型、布尔型、字符串型;
(2)复合数据类型分为:数组(array) 和对象(object);
(3)特殊数据类型分为: null 和资源类型(resource)。资源类型如:$conn = mysql_connect("localhost","root","root");
6- 代码
<?php
$a;
var_dump($a);
echo $a;
?>
输出结果:
Notice: Undefined variable: a in C:\xampp\htdocs\test.php on line 3
NULL
Notice: Undefined variable: a in C:\xampp\htdocs\test.php on line 4
hello,world!
是 Notice ,而不是 error , 且能够继续执行。
7- $a=0123,$b=0x1A 中 0(零)开头表示八进制,0x 开头表示十六进制。
<?php
$a=0123;
echo '$a='.$a;
$b=0x1A;
echo '<br/>$b='.$b;
?>
输出结果为:
$a=83
$b=26
8- php 不支持无符号整数,即 php 中的整数都是有符号的。php 中一个整数一般占用 4 个字节,具体和平台有关,其中 最高位 为符号位,0 表示整数,1表示负数。
9- 可用常量 PHP_INT_SIZE 显示自己的机器一个整型用几个字节表示;用 PHP_INT_MAX 表示最大值。
<?php
echo PHP_INT_SIZE;
echo "<br/>".PHP_INT_MAX;
?>
输出结果:
4
2147483647
最大值为 2147483647 = 2^31 -1 。负值为 -2147483647。
10- 如果一个整数的范围超过了最大范围,则自动转为 float 型。
<?php
$a=2147483647;
var_dump($a);
$b=2147483648;
echo"<br/>";
var_dump($b);
?>
输出:
int(2147483647)
float(2147483648)
布尔型
1- true/ false 不区分大小写,可以写成 TRUE / falE。
2- 以下皆为 false:
(1)整型值 0;
(2)浮点型值 0.0;
(3)空字符串以及字符串“0”;
(4)不包括任何元素的数组;
(5)不包括任何成员变量的对象;
(6)特殊类型 NULL (包括尚未设定的变量)。
如:
<?php
$a=0;
if($a==false){
echo'false' ;
}
?>
输出:false
3- 浮点数字长和平台相关,通常最大值是1.8E308,并具有 14 位(从左边【不是小数点】开始第一个非零数就是精度开始)十进制数字的精度。
此处的 ‘E’ 指的是小数点向左移动 X 位。
4-代码:
<?php
$a=0.123456789123456789123456789;
echo $a;
$b=0.000123456789123456789123456789;
echo '<br/>'.$b;
?>
输出:
0.12345678912346
0.00012345678912346
注意:此处四舍五入。
<?php
$a = 7/3;
echo '<br/>'.$a;
?>
输出:
2.3333333333333 //一共14位;
字符串
1- 一个字符串占用一个字节,如:$a="hello",则变量 a 占用5 个字节。
2- 一个字符串类型可以表示多大的值?
php 对字符串长度的限制只和运行 php 程序的该台计算机的内存大小有关,即 php 字符串可以足够大。理论上对字符串大小没有限制,不超内存即可。
3- 常见的定义方式:单引号和双引号皆可。区别如下:
(1)显示变量。如:
<?php
$i = 90;
$a = "hello$i" ; //双引号,会参与替换
$b = 'hello$i' ; //单引号,只显示
echo 'a='.$a;
echo '<br/>b='.$b;
?>
输出:
a=hello90
b=hello$i
当变量包含在双引号 “”“ 中时,会输出它的 值,而包含在单引号 ‘’ 中时,则输出其 字符本身。
(2)使用双引号,php 会对特殊字符进行解析。如:
<?php
$a = "abcd\t"; //双引号,转义了
$b = 'abcd\t'; //单引号,原封不动
echo '<br/>'.$a;
echo '<br/>'.$b;
?>
输出:
abcd
abcd\t
<?php
$a = "abcd\""; //双引号,转义了
$b = 'abcd\"'; //单引号,原封不动
echo '<br/>'.$a;
echo '<br/>'.$b;
?>
输出:
abcd"
abcd\"
特殊情况,如:
<?php
$a = "abcd\'"; //双引号,转义了
$b = 'abcd\''; //单引号,原封不动
echo '<br/>'.$a;
echo '<br/>'.$b;
?>
输出:
abcd\'
abcd'
双引号解析双引号,单引号解析单引号,其他原封不动。
如果字符串是包围在单引号中,除了来处理 \" 时,会输出 \" 外,其他规则都是一样。
4- 比较运算符
(1)== 值相等;
(2)=== 值相等,类型也相同;
<?php
$a = 2;
$b = 2;
echo $a==$b;
?>
输出:
1
echo '$a==$b';
输出:
$a==$b
(3)!= 或 <> 不相等
5- 逻辑运算符
(1)异或 xor :两者之中一真一假则表达式为真。
(2) and 和 && 都表示逻辑与,or 和 || 都表示逻辑或,区别在什么地方?
a. && 的优先级比 and 高,=(赋值符号)的优先级比 and 高;
b. || 的有限及比 or 高,=(赋值符号)的优先级比 or 高;
c. 优先级: &&(||)> = > and(or)。
如:
$a = false || true;
a 为true;
$b = false or true;
b 为 false;
由于 or 的优先级低于赋值符号 = ,故先赋值后运算。
(3) || 运算符,如果第一个表达式为真,第二个表达式将不进行计算
<?php
$a = 10;
$b = 5;
if($a++>9 || $b++>5){
echo '$a='.$a.' $b='.$b;
}else{
echo"No<br/>";
}
?>
输出:
$a=11 $b=5
&& 运算符,如果第一个表达式为假,第二个表达式将不进行计算
<?php
$a = 10;
$b = 5;
if($a++>10 && $b++>5){
echo 'ok';
}else{
echo '$a='.$a.' $b='.$b;
}
?>
输出:
$a=11 $b=5
6- 字符串运算符
当两个变量(基本数据类型)使用 “.” 连接时,就表示把它们的内容拼接,即把所有的内容(类型)当做字符串看。
<?php
$a = 123;
$b = 4.5;
$c = $a.$b;
echo $c;
?>
输出:
1234.5
7- 类型运算符
instanceof 用于确定一个 php 变量是否属于某一类 class 的实例,通常用于面向对象开发中。在实际开发中,可能需要去判断某个变量是否是某个类型,然而,instanceof 不能用于判别基本数据类型,只能判别类或对象。
<?php
class Dog{}
class Cat{}
$cat1 = new Cat;
var_dump($cat1 instanceof Dog);
?>
输出:
bool(false)
8- 需要注意的地方:
(1)
$a = ++3;
用法错误,会输出 Syntax error; ++ 、-- 针对的是
变量操作,
++i 等同 i = i + 1; 然而,
++3 不能等同 3= 3+1;
(2)优先级方面:++ 的优先级高于 *
<?php
$a = 3;
$c = 3;
$b = ++$a*3;
$d = $c++*3;
echo $b.' '.$d;
?>
输出:
12 9