PHP入门之类型与运算符(一)

栏目: IT技术 · 发布时间: 5年前

内容简介:PHP对于大部分人来说,是比较容易入门的。笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理。第一部分是类型与运算符。如果你想学习PHP,可以参考PHP学习手册学习,任何一本教学资料也没有PHP学习手册讲的详细。传送门(提取码2dq2):PHP支持8种原始类型,包括boolean(布尔型)、integer(整型)、float(浮点型,也称作 double)、string(字符串)、array(数组)、object(对象)、resource(资源)、NULL(无类型),还有三种伪类型。这里主要讲解前

前言

PHP对于大部分人来说,是比较容易入门的。笔者也是刚学习不久,所以就把自己学习的基础知识进行总结和整理。第一部分是类型与运算符。如果你想学习PHP,可以参考 PHP 学习手册学习,任何一本教学资料也没有PHP学习手册讲的详细。传送门(提取码2dq2): 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);
?>

运行结果为:

PHP入门之类型与运算符(一)

如果给定的一个整数,溢出了整数的范围,将直接会解释成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 <=> $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的优先级比赋值运算符还要低。
    举个例子。
$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';
}

PHP入门之类型与运算符(一)

||和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';
}

PHP入门之类型与运算符(一)

字符串运算符

有两个字符串(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,'<br/>','$b='.$b,'<br/>',$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入门之类型与运算符(一)

小结

第一部分总结了PHP的一些数据类型和运算符。在下一部分中,会总结一些流程控制,包括分支控制、循环控制等。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hello World

Hello World

Hannah Fry / W. W. Norton Company / 2018-9 / GBP 17.99

A look inside the algorithms that are shaping our lives and the dilemmas they bring with them. If you were accused of a crime, who would you rather decide your sentence—a mathematically consistent ......一起来看看 《Hello World》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具