PHP对于大部分人来说,是比较容易入门的。笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理。第一部分是类型与运算符。如果你想学习PHP,可以参考PHP学习手册学习,任何一本教学资料也没有PHP学习手册讲的详细。下载地址:PHP学习手册
类型PHP支持8种原始类型,包括boolean(布尔型)、integer(整型)、float(浮点型,也称作 double)、string(字符串)、array(数组)、object(对象)、resource(资源)、NULL(无类型),还有三种伪类型。这里主要讲解前四种标量类型。PHP不用提前定义数据类型,它会自己识别。
整型整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。64 位平台下的最大值通常是大约 9E18。PHP 不支持无符号整数。Integer 值的字长可以用常量 PHP_INT_SIZE来表示,自 PHP 4.4.0 和 PHP 5.0.5后,最大值可以用常量 PHP_INT_MAX 来表示。可以用下面的代码证明一下。
<?php $a=12345; echo "a的值为".$a; echo '</br>'; echo "字节为".PHP_INT_SIZE; echo '</br>'; echo "最大值为".PHP_INT_MAX; echo '</br>'; echo var_dump($a); ?>运行结果为:
如果给定的一个整数,溢出了整数的范围,将直接会解释成float。 布尔型
布尔型细节
最简单的类型,true和false代表真和假。
当转换为 布尔 时,以下值被认为是 false:
• 布尔值 false 本身
• 整型值 0(零)
• 浮点型值 0.0(零)
• 空字符串,以及字符串 "0"
• 不包括任何元素的数组
• 不包括任何成员变量的对象(仅 PHP 4.0 适用)
• 特殊类型 NULL(包括尚未赋值的变量)
• 从空标记生成的 SimpleXML 对象
除了上面那些,其他的所有值都会被认为是true。
精度为14个字节,从左边不是零的一个开始算起。
比如、
$a=0.123444555666666666;
echo "a的值为".$a;
输出的值为:a的值为0.12344455566667
当到第14位数时,它会自动四舍五入。
字符型最大可以达到 2GB。
需要注意的一点是区分单引号和双引号。用双引号定义的字符串最重要的特征是变量会被解析。举个例子。
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。下面对几种常用的运算符进行详细说明。
递增/递减运算符举个例子
$i=10; $i=++$i; # ++在前,先++然后在赋值。所以输出的结果为11. $i=i++; # ++在后,先赋值,然后在++。所以输出的值为10. //这里注意的是,++和--的对象是变量!!比如$a=++3就是错的!! echo 'i的值为'.$i--i和i--同样的道理。
算术运算符$a + $b 加法 $a 和 $b 的和。
$a - $b 减法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的积。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 取模 $a 除以 $b 的余数。
这些就不举例子了。还有$a+、$a-、$a*、$a/、$a%、(左加、左减、左乘、左除、左取余)。
举个例子。
$a == $b 等于 TRUE,如果类型转换后 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。
$a != $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a <> $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a !== $b 不全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。
$a < $b 小与 TRUE,如果 $a 严格小于 $b。
$a > $b 大于 TRUE,如果 $a 严格大于 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。
$a <=> $b 结合比较运算符 当$a小于、等于、大于than $b时分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供.
$a ?? $b ?? $c NULL 合并操作符 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供
$a and $b And(逻辑与) TRUE,如果 $a 和 $b 都为 TRUE。
$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。
$a && $b And(逻辑与) TRUE,如果 $a 和 $b 都为 TRUE。
$a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
and 和 &&都是逻辑与,区别是&&优先级高于and,and的优先级比赋值运算符还要低。
举个例子。