PHP 與 Perl 語言對(duì)比
編譯腳本語言:Perl 和 PHP 二者都是腳本語言。這意味著他們不用提前獨(dú)立執(zhí)行生產(chǎn)原生可執(zhí)行文件。
語法:PHP 的基本語法非常接近 Perl 的,并且二者都與 C 代碼分享很多語法特性像空格、語句由分號(hào)終止和花括號(hào)將多條語句組織成代碼塊。函數(shù)調(diào)用開始于函數(shù)名,緊隨后面的是包圍在圓括號(hào)中并由逗號(hào)分隔的實(shí)際參數(shù)。
$符號(hào)變量:所有變量在 PHP 中看起來像 Perl 標(biāo)量變量:一個(gè)名稱在一個(gè) $ 符號(hào) ($) 的前面。
沒有聲明變量:和 Perl 語言一樣,PHP 變量在使用前你也不需要聲明它的類型。
松散類型的變量:和 Perl 語言一樣,PHP 變量沒有內(nèi)在類型除了他們目前的值的類型之外。你可以將數(shù)字或字符串存儲(chǔ)在相同類型的變量里。
字符串和變量插值法:PHP 和 Perl 使用雙引號(hào)字符串的次數(shù)比使用單引號(hào)的字符串的次數(shù)要多很多。不同之處PHP 是 HTML 嵌入式語言:雖然可以使用 PHP 把任意任務(wù)從命令行運(yùn)行,它通常需要連接到一個(gè) Web 服務(wù)器并且用于產(chǎn)生 Web 頁面。如果你習(xí)慣于用 Perl 編寫 CGI 腳本,它和 PHP 的主要區(qū)別是,不再需要明確地打印大量的靜態(tài) HTML 或 heredoc 語句,而是可以簡(jiǎn)單地編寫 HTML 本身之外的 PHP 代碼塊。
沒有 @ 或者 % 變量:PHP 只有一個(gè)類型的變量,它始于一個(gè)美元符號(hào)($)。無論是標(biāo)量類型或復(fù)合類型,任何數(shù)據(jù)類型的語言可以存儲(chǔ)在這些變量中。
數(shù)組和散列:有一個(gè)叫做數(shù)組的數(shù)據(jù)類型,像散列和數(shù)組扮演的角色在 Perl 語言中。
指定的函數(shù)參數(shù):函數(shù)調(diào)用在 PHP 看起來很像在 Perl 子程序里調(diào)用。在 PHP 的函數(shù)定義中,而另一方面講,通常需要某種正式的參數(shù)列表如 C 或 Java 在 PERL 中并非如此。
在 Perl 函數(shù)中變量作用域:變量的默認(rèn)范圍是全局性的。這意味著頂級(jí)變量在子程序是可見的。通常,這導(dǎo)致全局函數(shù)的混雜使用。在 PHP 中,變量在函數(shù)定義的范圍中默認(rèn)是局部的。
沒有像這樣的模塊系統(tǒng):在 PHP 中在正常代碼文件和代碼文件之間用作導(dǎo)入庫沒有真正區(qū)別。
使用關(guān)鍵字 Break 和 continue 不使用關(guān)鍵字 next 和 last:PHP 更像 C 語言,使用關(guān)鍵字 Break 和 continue 取代關(guān)鍵字 next 和 last。
沒有 elsif:一個(gè)小的拼寫的區(qū)別:Perl 的 elsif 就是 PHP 中的 elseif。
更多種類的注釋:除了 Perl-style(#) 單行注釋,PHP 提供 C 風(fēng)格的多行注釋(/*注釋*/)和 Java 風(fēng)格的單行注釋(/ /注釋)。
正則表達(dá)式:PHP 沒有內(nèi)置的特定于正則表達(dá)式的語法,但大部分相同的功能在其 'Perl-compatible' 的正則表達(dá)式中。相關(guān)文章:
1. ajax post下載flask文件流以及中文文件名問題2. 如何通過vscode運(yùn)行調(diào)試javascript代碼3. 利用CSS3新特性創(chuàng)建透明邊框三角4. python 使用raw socket進(jìn)行TCP SYN掃描實(shí)例5. python dict如何定義6. IntelliJ IDEA導(dǎo)入jar包的方法7. 使用css實(shí)現(xiàn)全兼容tooltip提示框8. 使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程9. WML語言的基本情況10. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能
