赵童鞋带你入门PHP(四) PHP进阶语法

栏目: PHP · 发布时间: 6年前

内容简介:阅读时长:10分钟技术预备:PHP基础语法通过上一篇的学习,相信童鞋们已经大概了解了PHP的变量和数组,这篇虽然叫进阶语法,但其实也还是基础语法,只是为了和上一篇做一个区别。

阅读时长:10分钟

技术预备:PHP基础语法

通过上一篇的学习,相信童鞋们已经大概了解了 PHP 的变量和数组,这篇虽然叫进阶语法,但其实也还是基础语法,只是为了和上一篇做一个区别。 (在编程界再怎么高级的东西始终会在时间的车轮下变成基础)

本节主要讲解PHP的运算符、函数和面向对象。

依照上一节的特性,一些太简单的如 b+$c; 这种基础操作就跳过了,我们主要来讲讲PHP的一些骚操作。

一、运算符

大部分现代编程语言的运算符在PHP都实现了,这里主要讲解一下弱类型语言特有的“==”和“===”运算符。

在强类型语言中一般只有“==”这种运算符,那么为什么弱类型语言会需要“===”运算符呢?

这是因为在弱类型语言,如PHP中,当数字0和字符串“0”相比较的时候,PHP会自动的把字符串转换为数字再进行比较,也就是说 0=="0" 会返回true。 (课外题:数字和字符串比较的时候,PHP是按什么规则来进行字符串的数字转换?)

但是某些场景下,我们除了进行数字比较以外,还需要精确的类型比较,这种时候就需要“===”运算符来处理了,使用“===”运算符PHP会先校验两边变量的类型,如果类型不相同则会直接返回false。

同理,判断不等于也有“!=”和“!==”两种比较运算符。

课后习题:

FALSE=="";
0=="0abc";
0=="0123";
0==0.0;
0==[];
"0abc=="";
''=="";

如果这些能做到全对,那么这关你就跨过去了,需要答案的童鞋可以在公众号给赵童鞋留言哦。

二、函数

在PHP中,所有函数都需要使用function关键字来标识。

如:

function fun(){
    echo "HelloWorld!!!";
}
复制代码

在类里的方法则自带了$this变量,用来指示当前调用方法的对象。 (课外题:童鞋们还记得之前讲解的函数和方法有什么区别吗?)

在许多编程语言中,方法调用都是使用“.”符号来完成的。

如:

this.sayHello();

但在PHP中,“.”运算符已经被用作字符串连接符了,所以需要使用->符号来进行方法的调用,这个符号是不是非常形象(简单粗暴)呢?

如:

$this->sayHello();

在函数这里我需要着重讲解一下,PHP中两个常用的内置函数 empty()isset()

有许多刚入门PHP的童鞋可能会经常搞混这两个函数的使用区别。

首先是 empty() 函数的官方解释:

当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。

以下的东西被认为是空的:

  • "" (空字符串)
  • 0 (作为整数的0)
  • 0.0 (作为浮点数的0)
  • "0" (作为字符串的0)
  • NULL
  • FALSE
  • array() (一个空数组)
  • $var; (一个声明了,但是没有值的变量)

然后是isset()函数的官方解释:

如果var存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。

可能有童鞋看完解释还是一头雾水,其实他们的区别就是对于 NULL 值的判断。

empty()
isset()

三、面向对象

PHP的面向对象又是那些什么继承啊,多态啊,父类啊,子类啊,为什么这么累啊的东西,和大部分编程语言的一样,我就不写了。

上面只是开玩笑的,面向对象是目前编程语言的一个趋势,甚至Javascript在ES6之后也支持了Class的写法。

但是直接来讲面向对象我个人觉得是非常枯燥的一件事情,而且对一个初学者讲构造函数、析构函数、继承、多态之类的东西会很容易绕晕,更多数的情况是只有“哦~原来这样,然后呢?”这种体会,没两天就忘光光了。

所以我认为面向对象这方面如果是有其他语言经验的童鞋,应该不太需要再重头学一遍,而初学者的话我们在后面结合项目再来讲解就会更加容易理解,而且体会也是完全不一样的。

四、小结

PHP的语法讲解经过两个章节算是基本讲完了。

什么?你说就这么短?许多的教程语法都要讲四五节课以上?

那是很正常的,因为赵童鞋跳过了大量的细节,我认为入门一个新的知识应该只花20%的时间来学习80%经常用到的知识才是最高效的,大量的细节我们在后面再来慢慢补充。

什么?你觉得自己什么都没学到?

那也是很正常的,能过目一遍就全部理解全部掌握的人始终是非常少数的,许多知识都要经过大量的练习才能真正的领悟到。

后面的章节我们就直接进入到框架的学习。

----- End -----

更多好文

请扫描下面二维码

欢迎关注~

赵童鞋带你入门PHP(四) PHP进阶语法

以上所述就是小编给大家介绍的《赵童鞋带你入门PHP(四) PHP进阶语法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Ordering Disorder

Ordering Disorder

Khoi Vinh / New Riders Press / 2010-12-03 / USD 29.99

The grid has long been an invaluable tool for creating order out of chaos for designers of all kinds—from city planners to architects to typesetters and graphic artists. In recent years, web designers......一起来看看 《Ordering Disorder》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

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

HEX CMYK 互转工具