PHP 针对PERL开发人员

PHP 针对PERL开发人员

本章将列出PHP和PERL之间的主要相似性和差异。这将帮助PERL开发人员快速了解PHP并避免常见错误。

相似之处

  • 编译脚本语言 - Perl和PHP都是脚本语言。这意味着它们不用于在执行之前生成原生的独立可执行文件。

  • 语法 - PHP的基本语法非常接近Perl的语法,并且两者都与C语言共享许多句法特征。代码不区分空格,语句以分号结尾,花括号将多个语句组织到一个块中。函数调用以函数名开头,后跟用逗号分隔的实际参数的括号。

  • 以美元符号开头的变量 - PHP中的所有变量都类似于Perl中的标量变量:前面带有美元符号($)的名称。

  • 不需要声明变量 - 与Perl一样,在使用PHP变量之前不需要声明其类型。

  • 弱类型变量 - 与Perl一样,在PHP中,变量除了当前持有的值之外,没有固有的类型。您可以在同一类型的变量中存储数字或字符串。

  • 字符串和变量插值 - PHP和Perl对双引号字符串(”字符串”)比单引号字符串(’字符串’)进行更多解释。

差异

  • PHP是嵌入HTML的 - 尽管可以通过从命令行运行PHP来使用它执行任意任务,但更通常地与Web服务器连接并用于生成Web页面。如果你习惯用Perl编写CGI脚本,那么PHP的主要区别在于你不再需要使用print或heredoc语句显式打印大块静态HTML,而是可以在PHP代码块之外直接编写HTML本身。

  • 无@或%变量 - PHP只有一种变量,以美元符号($)开头。可以将语言中的任何数据类型存储在这些变量中,无论是标量还是复合类型。

  • 数组与哈希 - PHP只有一种称为数组的数据类型,它既可以扮演Perl中的哈希,又可以扮演数组/列表的角色。

  • 指定函数参数 - PHP中的函数调用看起来与Perl中的子例程调用非常相似。而PHP中的函数定义通常需要类似C或Java的形式参数列表,而在PERL中则不是这样。

  • 函数中的变量作用域 - 在Perl中,变量的默认作用域是全局的。这意味着顶级变量在子例程内部是可见的。这经常导致函数之间滥用全局变量。而在PHP中,默认情况下,函数定义内部的变量的作用域是局部的。

  • 没有像样的模块系统 - 在PHP中,普通的代码文件和用作导入库的代码文件之间没有真正的区别。

  • 使用break和continue而不是next和last - PHP更像C语言,使用break和continue而不是next和last语句。

  • 没有elsif - Perl的elsif在PHP中是elseif的拼写差异很小。

  • 更多种类的注释 - 除了类似Perl(#)的单行注释外,PHP还提供C风格的多行注释(/ 注释 /)和Java风格的单行注释(//注释)。

  • 正则表达式 - PHP没有针对正则表达式的内置语法,但在其“Perl兼容”的正则表达式函数中具有大部分相同的功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程