📜  PHP对于C开发人员

📅  最后修改于: 2020-10-21 05:17:11             🧑  作者: Mango


想到PHP的最简单方法是可以嵌入HTML文档中的解释C。该语言本身与C很像,除了带有无类型变量,内置了许多特定于Web的库以及所有内容都直接连接到您喜欢的Web服务器之外。

语句和函数定义的语法应熟悉,但变量始终以$开头,并且函数不需要单独的原型。

在这里,我们将介绍PHP和C的一些异同

相似之处

  • 语法-广义上讲,PHP语法与C中的语法相同:代码对空格不敏感,语句以分号终止,函数调用具有相同的结构(my_function(expression1,expression2)),以及花括号({和})make语句成块。 PHP支持C和C++样式的注释(/ * * /以及//),还支持Perl和shell脚本样式(#)。

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

  • 控制结构-基本控制结构(if,switch,while,for)的行为与在C中的行为相同,包括支持break和continue。一个显着的区别是PHP中的switch可以接受字符串作为大小写标识符。

  • 函数名称-阅读文档时,您会看到许多似乎与C函数相同的函数名称。

差异性

  • 美元符号-所有变量均以前导$表示。变量不需要在赋值之前声明,并且它们没有内部类型。

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

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

  • 数组-数组的语法表面上类似于C的数组语法,但实现方式完全不同。它们实际上是关联数组或哈希,并且索引可以是数字或字符串。它们不需要事先声明或分配。

  • 没有结构类型-PHP中没有结构,部分原因是数组和对象类型一起使它不必要。 PHP数组的元素不必是一致的类型。

  • 没有指针-尽管无带变量起着类似的作用,但是PHP中没有可用的指针。 PHP确实支持变量引用。您还可以在某种程度上模拟函数指针,因为函数名称可以存储在变量中,并可以使用变量而不是字面量名称来调用。

  • 没有原型-只要在当前代码文件或包含的文件中的某个位置可以找到定义,就无需在定义函数的实现之前就声明它们。

  • 内存管理-PHP引擎实际上是一个垃圾回收的环境(引用计数),在小型脚本中,无需进行任何重新分配。您应该自由分配新结构-例如新字符串和对象实例。在PHP5中,可以为对象定义析构函数,但是没有free或delete。当最后一个对对象的引用消失时,在回收内存之前,将调用析构函数。

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

  • 放纵-作为一般事项,PHP是更宽容比C(特别是在它的类型系统)等将让你与新种错误脱身。出乎意料的结果比错误更常见。