Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 与 Perl 语言对比有何不同

PHP 与 Perl 语言对比有何不同

伊谢尔伦
伊谢尔伦Original
2016-11-21 14:58:302012Durchsuche

相同之处

编译脚本语言:Perl 和 PHP 二者都是脚本语言。这意味着他们不用提前独立执行生产原生可执行文件。

语法:PHP 的基本语法非常接近 Perl 的,并且二者都与 C 代码分享很多语法特性像空格、语句由分号终止和花括号将多条语句组织成代码块。函数调用开始于函数名,紧随后面的是包围在圆括号中并由逗号分隔的实际参数。

$符号变量:所有变量在 PHP 中看起来像 Perl 标量变量:一个名称在一个 $ 符号 ($) 的前面。

没有声明变量:和 Perl 语言一样,PHP 变量在使用前你也不需要声明它的类型。

松散类型的变量:和 Perl 语言一样,PHP 变量没有内在类型除了他们目前的值的类型之外。你可以将数字或字符串存储在相同类型的变量里。

字符串和变量插值法:PHP 和 Perl 使用双引号字符串的次数比使用单引号的字符串的次数要多很多。

不同之处

PHP 是 HTML 嵌入式语言:虽然可以使用 PHP 把任意任务从命令行运行,它通常需要连接到一个 Web 服务器并且用于产生 Web 页面。如果你习惯于用 Perl 编写 CGI 脚本,它和 PHP 的主要区别是,不再需要明确地打印大量的静态 HTML 或 heredoc 语句,而是可以简单地编写 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-style(#) 单行注释,PHP 提供 C 风格的多行注释(/*注释*/)和 Java 风格的单行注释(/ /注释)。

正则表达式:PHP 没有内置的特定于正则表达式的语法,但大部分相同的功能在其 "Perl-compatible" 的正则表达式中。


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php数组拼接Nächster Artikel:PHP isset()与empty()的使用区别详解