PHP 针对C开发人员

PHP 针对C开发人员

最简单的方式将PHP理解为可以嵌入HTML文档中的解释型C语言。语言本身与C语言非常类似,只是变量无需指定类型,内建了大量Web特定的库,而且可以直接连接到你最喜爱的Web服务器。

语句和函数定义的语法应该很熟悉,只是变量前面总是有$符号,并且函数不需要单独的原型。

在这里,我们将会介绍PHP和C之间的一些相似性和差异性。

相似性

  • 语法 − 广义来说,PHP的语法与C语言相同:代码对空格不敏感,语句以分号结尾,函数调用的结构相同(my_function(expression1, expression2)),花括号({})将语句组合成块。PHP支持C和C++风格的注释(/* *///),还支持Perl和Shell脚本风格的注释(#)。

  • 运算符 − 赋值运算符(=,+=,*=等),布尔运算符(&&,||,!),比较运算符(<,>,<=,>=,==,!=),以及基本算术运算符(+,-,*,/,%)在PHP中与C语言的行为相同。

  • 控制结构 − 基本控制结构(if,switch,while,for)的行为与C语言相同,包括支持break和continue。一个显著的区别是PHP的switch语句可以接受字符串作为case标识符。

  • 函数名称 − 当你查阅文档时,你会看到很多函数名称与C函数非常相似。

差异性

  • 美元符号 − 所有变量都用$符号表示。变量不需要在分配之前声明,并且它们没有固有类型。

  • 类型 − PHP只有两种数值类型:整数(对应C中的long)和浮点数(对应C中的double)。字符串长度任意。没有单独的字符类型。

  • 类型转换 − 类型在编译时不会被检查,通常也不会在运行时发生类型错误。相反,变量和值会根据需要自动转换为不同类型。

  • 数组 − 数组的语法与C的数组语法有些相似,但实际上它们的实现完全不同。它们实际上是关联数组或哈希表,索引可以是数字或字符串。不需要提前声明或分配。

  • 没有结构类型 − PHP中没有结构体,部分原因是数组和对象类型已经足够满足需要。PHP数组的元素不需要是一致的类型。

  • 没有指针 − PHP中没有可用的指针,尽管无带纸变量起到了类似的角色。PHP支持变量引用。在某种程度上,你可以模拟函数指针,因为函数名可以存储在变量中,并通过使用变量而不是字面名称调用。

  • 没有原型 − 函数在其实现被定义之前不需要声明,只要定义可以在当前代码文件或包含的文件中找到即可。

  • 内存管理 − PHP引擎在有效地垃圾回收环境(引用计数)中运行,在小型脚本中不需要进行任何释放操作。可以自由分配新的结构,如新的字符串和对象实例。在PHP5中,可以为对象定义析构函数,但没有free或delete操作。在内存被回收之前,当对对象的最后一个引用消失时,析构函数会被调用。

  • 编译和链接 − PHP脚本没有单独的编译步骤。

  • 自由度 − 总的来说,PHP比C更宽松(尤其在类型系统上),所以它会让你可以犯更多种类的错误。意外的结果比错误更常见。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程