PHP入门之类型与运算符

  前言

  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 来表示。可以用下面的代码证明一下。

  复制运行结果为:

  如果给定的一个整数,溢出了整数的范围,将直接会解释成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。

  需要注意的一点是区分单引号和双引号。用双引号定义的字符串最重要的特征是变量会被解析。举个例子。

  $b=123;

  echo "hello$b";

  echo 'hello$b'; #结果为 hello123 hello$b

  复制运算符

  运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。下面对几种常用的运算符进行详细说明。

  递增/递减运算符

  举个例子

  $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=10;

  $a-=2;

  echo 'a的值为'.$a; #执行结果为:a的值为8 $a-=2就相当于$a=10-2;

  复制比较运算符

  $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

  逻辑运算符

  $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的优先级比赋值运算符还要低。

  举个例子。

  $a= false&&true;

  $b= true and false;

  var_dump($a,$b); #执行结果:bool(false) bool(true) $a=false$b=true

  if ($a==false){ #因为,and的优先级低于“=”所以$b先进行了赋值。

  echo '$a=false';

  }

  if ($b==true){

  echo '$b=true';

  }

  复制

  ||和or都是逻辑或,区别是||优先级高于or,or的优先级比赋值运算符还要低。

  举个例子。

  $a= true||false;

  $b= false or true;

  var_dump($a,$b); #执行结果:bool(true) bool(false) $a=true$b=false

  if ($a==true){ #因为,or的优先级低于“=”所以$b先进行了赋值。

  echo '$a=true';

  }

  if ($b==false){

  echo '$b=false';

  }

  复制

  字符串运算符

  有两个字符串(string)运算符。第一个是连接运算符("."),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(".="),它将右边参数附加到左边的参数之后。

  举个例子。

  $a = "Hello "; #执行结果为 Hello World!

  $b = $a . "World!";

  echo "$b";

  $a = "Hello ";

  $a .= "World!"; #执行结果为 Hello World!

  echo "$a";

  复制这里不仅可以连接字符串,如果是数字的话也会当作字符串去连接。

  比如 $a=123;$b=456;echo $a.$b;

  结果为:123456

  三元运算符

  格式:表达式1?表达式2:表达式3

  含义:如果表达式1为真,执行表达式2,如果表达式1为假,则执行表达式3。

  举个例子:

  $a=2;

  $b=3;

  $c=$a<$b?"b大于a":"a大于b";

  echo '$a='.$a,'','$b='.$b,'',$c; #表达式2和表达式3可以是数,也可以是字符串,也可以是一个式子。

  复制输出结果为:

  $a=2

  $b=3

  b大于a

  类型运算符

  instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例

  举个例子

  class A{}

  class B{}

  $a=new A;

  var_dump($a instanceof A);

  var_dump($a instanceof B);

  输出结果为:

  bool(true) bool(false) //第一个为真,第二个为假。所以$a属于A类。

  运算符优先级

  这里直接参考的PHP学习手册,按照优先级,由高到低列出下表。

  小结

  第一部分总结了PHP的一些数据类型和运算符。在下一部分中,会总结一些流程控制,包括分支控制、循环控制等。郑州人流手术哪家好http://www.changhong110.com/

posted @ 2021-04-30 13:54  顾延笙  阅读(103)  评论(0编辑  收藏  举报