简单理解弱类型、动态类型、解释型语言

弱类型和强类型

简单的说,二者的区别就是是否偏向于容忍隐式类型转换

$str = 'abc';   //str是一个字符串

$str = 1;    //这时候又变成整形

if($str){};  //这时候又是一个布尔型

所以php是弱类型语言,变量类型会自动转换。

 

动态类型和静态类型

简单的说,二者的区别就是声明变量的时候是否需要指定变量类型

php是动态类型语言,声明变量时无需指定类型。

注意: 一个语言是不是强类型语言和是不是动态类型语言没有必然联系。

 

动态语言和静态语言

简单的说,二者的区别就是代码运行时是否可以改变其结构。例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。

php是动态语言,代码运行时可以动态改变结构。

 

解释型和编译型

用编译型语言写的程序执行之前,需要先有一个专门的编译过程,以后就可以直接运行而不需要编译了,例如windows的exe文件,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率较高。

解释型语言编写的程序不需要编译,只在运行的时候才翻译,但是这样的话每执行一次就要翻译一次,效率比较低。优点在于不需要专门的编译过程,可以随时编写代码并立即运行。

php是解释型语言。

 

posted @ 2019-04-16 13:45  web200  阅读(786)  评论(0编辑  收藏  举报