PHP自问自答(4)运算符

前言

学习新的知识点,最困难的是“认知的过程”。但是学习运算符,几乎没有门槛,因为每个人都知道“加减乘除”,不需要额外的认知过程。

正因为容易入门,所以本文不想和你说运算符有多简单,而是给大家展现它复杂的一面。不过你也不要担心,很多复杂情况只出现在理论中,实际开发时很少碰到,因为简单就是美。

运算符的基本分类有几种?

一元运算

接受一个数据,这种运算符较为少见,常见的有 等。

举例:

! 是取反运算符

1 是被运算的数据

二元运算

接受两个数据,在运算符的一左一右,最常见的运算符了,比如

三元运算

接受三个数据,也极为少见,比如

如何学习运算符?

敲黑板:搞清楚它的运算结果,是什么数据类型!

比如:,$a 变量的值是什么?

and 运算符

左右数据均为 true,则运算结果 = true,否则为 false。

但是,此题目中and左右的数据都是 int 类型的 1,需要一个数据转换。

数据类型转换

1 是int类型,转为 boolean类型为 true(可查手册)

运算过程

and 两侧均为“1”,相当于 ,满足 and 需求。

运算结果

所以运算结果为 ,用“=”运算符,赋值给变量,相当于 。

运算符有多难学?

像 这种运算一眼就能看懂,但如果这样 呢?如果再继续晋升 这里边涉及到数学运算、比较运算、逻辑运算、位运算、数据类型的自动转换运算,再加上优先级的问题,就变成了一锅粥。

上面的运算其实并不复杂,只是很low,多数情况下,这样写代码的程序员都失业了。

有些同学曾问我:老师,我数学不好,是否适合学习编程。

我的常见答复:在晋升专家之前,数学能力不会成为你最大的门槛,但是数学能力强代表你分析(逻辑思考)能力强。碰到上面这种运算过程,你的理解速度更快。

运算符有多少种?

这个可以直接看手册,写的很完整,我稍微给大家介绍一下。

算术运算符

最好理解了,加减乘除取余数等,基本没有学习门槛。

运算的结果是 int 或 float 的数据类型。

比较运算符

大于、小于、不等于,也没有任何门槛,都是小学的知识。唯一需要注意的是:等于的运算符是 两个或三个等号在一起。

运算结果为 true / false 布尔值类型

“=”号,不叫等于叫什么?

叫 赋值 运算符,将右边的值,赋给左边,常见于变量。

逻辑运算符

这个就稍微有点难度了,但也非常容易理解。

a and b a和b同时为true,运算结果为true

a orb a或b任意一个为true,运算结果为 true

其他的不写了,看手册

运算结果为 true / false 布尔值类型。

杂项

包括字符串运算、数组、数据类型、位运算等等。

总结

在学习语法的时候,几乎没有同学会在“运算符”这里卡住,但是也导致大家对运算符的理解过于表面和乐观,在实际开发中,当多个运算符纠葛在一起的时候,经常算错,导致整个程序执行出错。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180410B0PHXR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券