欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      php版本比較[5篇范文]

      時(shí)間:2019-05-14 16:14:35下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《php版本比較》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《php版本比較》。

      第一篇:php版本比較

      PHP版本VC6與VC9、Thread Safe與None-Thread Safe等的區(qū)別最近發(fā)現(xiàn)很多PHP程序員對PHP版本知識了解不是很清楚,自己也看了不少類似的文章,還是感覺不夠明確和全面,網(wǎng)上的結(jié)論又都是模棱兩可,在此,給出最完整甚至武斷的解釋。

      本文講解:VC6與VC9,Thread Safety與None-Thread Safe,Apache module與fastcgi的區(qū)別與選擇。

      PHP的大版本主要分三支:PHP4/PHP5/PHP6

      其中,PHP4由于太古老、對OO支持不力已基本被淘汰,請無視PHP4。

      PHP6由于基本沒有生產(chǎn)線上的應(yīng)用,還基本只是一款概念產(chǎn)品,很多功能已在PHP5.3.3上實(shí)現(xiàn),所以也不詳述,請無視PHP6。

      PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前發(fā)布的PHP5.4。

      那我們應(yīng)該如何選擇適用自己項(xiàng)目的版本呢?

      PHP5.2之前的版本不值得考慮,因?yàn)槟承┕δ苋毕莼蛘連UG,PHP5.2之前的版本。PHP5.4還處于Beta試用的版本號,非穩(wěn)定版本,請無視PHP5.4。

      主流PHP程序?qū)HP5.2.X的兼容性最好,而每次版本號的升級帶來的都是安全性和穩(wěn)定性的改善,所以宜挑選最新的版本。目前PHP5.2系列最新的是PHP5.2.17。

      而如果產(chǎn)品是自己開發(fā)自己使用,PHP5.3在某些方面更具優(yōu)勢,在穩(wěn)定性上更勝一籌,增加了很多PHP5.2所不具有的功能,比如內(nèi)置php-fpm、更完善的垃圾回收算法、命名空間的引入、sqlite3的支持等等,是部署項(xiàng)目值得考慮的版本,強(qiáng)烈推薦PHP5.3.3。

      除了版本號的不同,同一版本號的PHP版本也有區(qū)別,并且在選擇PHP擴(kuò)展的時(shí)候需要注意。

      ?install版:可執(zhí)行的MSI格式安裝包。

      ?ZIP版:解壓即可用,與install版無區(qū)別。建議選擇ZIP版。

      ?DEBUG版:請無視。

      VC6與VC9

      對于VC6還是VC9版本的選擇,PHP官方網(wǎng)站有詳細(xì)的描述,原文如下:

      Which version do I choose?

      If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP

      If you are using PHP with IIS you should use the VC9 versions of PHP

      VC6 Versions are compiled with the legacy Visual Studio 6 compiler

      VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability.The VC9 versions require you to have the Microsoft 2008 C++ Runtime(x86)or the Microsoft 2008 C++ Runtime(x64)installed Do NOT use VC9 version with apache.org binaries 我該選擇哪個(gè)版本?

      如果你在apache1或者apache2下使用PHP,你應(yīng)該選擇VC6的版本

      如果你在IIS下使用PHP應(yīng)該選擇VC9的版本

      VC6的版本使用visual studio6編譯

      VC9使用Visual Studio 2008編譯,并且改進(jìn)了性能和穩(wěn)定性。VC9版本的PHP需要你安裝Microsoft 2008 C++ Runtime 不要在apache下使用VC9的版本TS和NTS

      TS指Thread Safety,即線程安全,一般在IIS以ISAPI方式加載的時(shí)候選擇這個(gè)版本。

      NTS即None-Thread Safe,一般以fast cgi方式運(yùn)行的時(shí)候選擇這個(gè)版本,具有更好的性能。

      從2000年10月20日發(fā)布的第一個(gè)Windows版的PHP3.0.17開始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進(jìn)程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運(yùn)行PHP會非常慢,這是由于CGI模式是建立在多進(jìn)程的基礎(chǔ)之上的,而非多線程。一般我們會把PHP配置成以ISAPI的方式來運(yùn)行,ISAPI是多線程的方式,這樣就快多了。但存在一個(gè)問題,很多常用的PHP擴(kuò)展是以Linux/Unix的多進(jìn)程思想來開發(fā)的,這些擴(kuò)展在ISAPI的方式運(yùn)行時(shí)就會出錯(cuò)搞垮IIS。因此在IIS下CGI模式才是 PHP運(yùn)行的最安全方式,但CGI模式對于每個(gè)HTTP請求都需要重新加載和卸載整個(gè)PHP環(huán)境,其消耗是巨大的。

      為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進(jìn)程重復(fù)利用而不是每一個(gè)新的請求就重開一個(gè)進(jìn)程。同時(shí)FastCGI也可以允許幾個(gè)進(jìn)程同時(shí)執(zhí)行。這樣既解決了CGI進(jìn)程模式消耗太大的問題,又利用上了CGI進(jìn)程模式不存在線程安全問題的優(yōu)勢。

      因此,如果是使用ISAPI的方式來運(yùn)行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運(yùn)行PHP的話就沒有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。

      如何查看當(dāng)前運(yùn)行的PHP的版本?一個(gè)很簡單的辦法就是phpinfo();

      Thread Safety disabled是NTS,enabled是TS

      Configure Command看到VC98字樣的是VC6,Compiler標(biāo)明 MSVC9(Visual C++ 2008)的是VC9

      在WIN7下:IIS7+NTS+FastCGI+vc9 是最佳搭檔或者apache+fastcgi+nts+vc6。

      在WINXP下:Apache+TS+Apache module +vc6最合適的搭檔。

      PHP語言簡介

      PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!特性

      1、開放的源代碼:

      所有的PHP源代碼事實(shí)上都可以得到。

      2、PHP是免費(fèi)的。

      和其它技術(shù)相比,PHP本身免費(fèi)。

      3、php的快捷性

      程序開發(fā)快,運(yùn)行快,技術(shù)本身學(xué)習(xí)快。嵌入于HTML:因?yàn)镻HP可以被嵌入于HTML語言,它相對于其他語言,編輯簡單,實(shí)用性強(qiáng),更適合初學(xué)者。

      4、跨平臺性強(qiáng):

      由于PHP是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在UNIX、LINUX、WINDOWS下。

      5、效率高:

      PHP消耗相當(dāng)少的系統(tǒng)資源。

      6、圖像處理:

      用PHP動態(tài)創(chuàng)建圖像

      7、面向?qū)ο螅?/p>

      在php4,php5 中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M(jìn),現(xiàn)在php完全可以用來開發(fā)大型商業(yè)程序。

      8、專業(yè)專注:

      PHP支持腳本語言為主,同為類C語言。技術(shù)應(yīng)用

      1,偽靜態(tài)

      2,靜態(tài)頁面生成3,數(shù)據(jù)庫緩存

      4,過程緩存

      5,div+cssw3c標(biāo)準(zhǔn)

      6,大負(fù)荷

      7,分布式

      8,jquery框架集成9,flex

      10,桌面程序應(yīng)用(不擅長)

      11,支持MVC模型 PHP3 PHP3跟Apache服務(wù)器緊密結(jié)合的特性,加上它不斷的更新及加入新的功能,而且?guī)缀踔С炙兄髁髋c非主流數(shù)據(jù)庫,再以它能高速的執(zhí)行效率,使得PHP在1999年中的使用站點(diǎn)已經(jīng)超過了150000。加上它的源代碼完全公開,在 Open Source意識抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數(shù)庫加入,以及不停地更新的活力,使得PHP無論在UNIX、LINUX或是Windows的平臺上都可以有更多新的功能。它提供豐富的函數(shù),使得在程序設(shè)計(jì)方面有著更好的支持。PHP4

      PHP4.0整個(gè)腳本程序的核心大幅更動,讓程序的執(zhí)行速度,滿足更快的要求。在最佳化之后的效率,已較傳統(tǒng)CGI或者ASP等程序有更好的表現(xiàn)。而且還有更強(qiáng)的新功能、更豐富的函數(shù)庫。無論您接不接受,PHP 都將在 Web CGI 的領(lǐng)域上,掀起巔覆性的革命。對于一位專業(yè)的Web Master 而言,它將也是必修課程之一。

      PHP 4.0是更有效的,更可靠的動態(tài)Web頁開發(fā)工具,在大多數(shù)情況運(yùn)行比 PHP 3.0要快,其腳本描述更強(qiáng)大并且更復(fù)雜, 最顯著的特征是速率比的增加。PHP4.0這些優(yōu)異的性能是PHP 腳本引擎重新設(shè)計(jì)產(chǎn)生的結(jié)果:引擎由 AndiGutmans 和 Zeev Suraski從底層全面重寫。PHP4.0 腳本引擎 ——Zend引擎,使用了一種更有效的編譯——執(zhí)行方式, 而不是PHP 3.0 采用的執(zhí)行 ——當(dāng)解析時(shí)模型。

      PHP4的優(yōu)越性:

      PHP4在3.0版的基礎(chǔ)上增加或增強(qiáng)了許多有用的特征,主要如下:

      (1)別名:在PHP4中,可以利用引用為變量賦值,這給編程帶來了很大的靈活性。

      (2)擴(kuò)充了API模塊:PHP 4.0 為擴(kuò)展的 API 模塊的提供了擴(kuò)展PHP接口模塊, 它比舊的 API 版本顯著地快。PHP 模塊已有的及最常用的接口多數(shù)被轉(zhuǎn)換到使用這個(gè)擴(kuò)展的接口。

      (3)自動資源釋放:PHP4增加了引用計(jì)數(shù)功能,這種新技術(shù)的引入使PHP4具有了自動內(nèi)存管理功能,減輕了開發(fā)人員的負(fù)擔(dān)。

      (4)布爾類型:PHP 4.0 支持布爾類型。

      (5)進(jìn)程生成:在 UNIX 環(huán)境下的 PHP 4.0 提供了一個(gè)很智能和通用的生成進(jìn)程, 使用了一種名為基于automake/libtool的系統(tǒng)生成技術(shù)。

      (6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持(僅用于Windows 環(huán)境)可以無縫地存取和訪問 COM 對象。

      (7)與PHP 3.0 兼容性很好:PHP 4.0 是與 PHP 3.0 代碼向后兼容性接近100%。由于 PHP 4 的改進(jìn)的體系結(jié)構(gòu),兩者有一些細(xì)微的差別,但是大多數(shù)人將可能永遠(yuǎn)不可能遇上這種情況。

      (8)配置:PHP4重新設(shè)計(jì)和增強(qiáng)了PHP.ini文件,這使得用PHP.ini來配置PHP顯得極為容易,這個(gè)文件可以在運(yùn)行時(shí)被Apache(unix系統(tǒng))或由Windows 注冊(Windows 環(huán)境)。

      (9)加密支持:PHP4實(shí)現(xiàn)了完整的加密, 這些加密功能是一個(gè)完整的mycrypt庫,并且 PHP 4.0 支持哈希函數(shù)。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。

      (10)類型檢查:PHP 4.0 支持同一操作符用于評類型檢查: ===(3 等號運(yùn)算符), 為在兩個(gè)值和其類型之間作檢查。例如, '3' ===3 將視為假(類型是不同的), 而 3 ==3(相等判斷)將視為真。

      (11)FTP 支持:PHP 4.0 支持 FTP。通常, 你會為通過一個(gè)調(diào)制解調(diào)器連接下載一個(gè)大文件提供一個(gè)接口。然而, 如果你確實(shí)有需要,可以使用PHP。

      (12)PHP4新增函數(shù)或功能增強(qiáng)函數(shù):PHP 4.0 新增了許多函數(shù),同時(shí)也將許多現(xiàn)有的函數(shù)功能進(jìn)行了增強(qiáng),以下是一些例子。array_count_values()eval()foreach()include()ob_end_clean()ob_end_flush()ob_get_contents()ob_start()strip_tags()unset()

      (13)here打?。篜HP 4.0 的Here打印是與Perl類似的, 盡管完全不相同。Here是打印大容量文章的一個(gè)有用的方法,例如在 HTML文件中,不會漏掉任何一個(gè)字符,例如目錄標(biāo)記。

      (14)HTTP Session fallback 系統(tǒng):為 HTTP Session管理的一個(gè) fallback 系統(tǒng)在 PHP 4.0被實(shí)現(xiàn)。缺省情況下,Session標(biāo)識符由cookies存儲。如果沒有cookies支持或一項(xiàng)cookies任務(wù)失敗,Session標(biāo)識符自動被創(chuàng)建并在 URL 的查詢字符串中被攜帶。

      (15)ISAPI 支持:PHP 4.0 能作為一個(gè)個(gè)性化的 ISAPI 模塊作為 IIS插件。這比 PHP 3.0 更有效, 它作為一個(gè)外部的程序來運(yùn)行。

      (16)內(nèi)存:PHP 4.0 能更有效的使用內(nèi)存, 導(dǎo)致較少的內(nèi)存占用消耗,這主要?dú)w功于引用計(jì)數(shù)技術(shù)的實(shí)現(xiàn)。

      (17)其他類成員函數(shù):在 PHP 4.0 你能在成員函數(shù)本身的作用域或全局范圍內(nèi)調(diào)用其他類的成員函數(shù)。例如,你能用一個(gè)子函數(shù)覆蓋父函數(shù),并在子函數(shù)中調(diào)用父函數(shù)。

      (18)多維數(shù)組:在 PHP 4.0,利用GET,POST,Cookies的進(jìn)行的數(shù)據(jù)傳輸支持多維數(shù)組。

      (19)個(gè)性化的 HTTP Session支持:HTTP Session處理, 包括 fallback 系統(tǒng)管理,在 PHP 4.0被它的新庫函數(shù)實(shí)現(xiàn)。在版本 3.0 中處理Session要求使用 PHPLIB 和第三方的庫函數(shù), 它比把Session直接地由 PHP 支持慢了許多。

      (20)個(gè)性化的 Java 支持:PHP 4.0 支持和java的交互。這種個(gè)性化的Java 支持為PHP 在 Java 對象上創(chuàng)建和使用方法提供一個(gè)簡單并且有效的工具。

      (21)對象和數(shù)嵌套組:PHP 4.0 實(shí)現(xiàn)了功能更加強(qiáng)大的對象, 移去了 PHP 3.0存在的種種句法限制。對象能在數(shù)組以內(nèi)被嵌套并且反過來也如此, 可以根據(jù)你的需要實(shí)現(xiàn)嵌套。

      (22)面向?qū)ο蟮木幊蹋篜HP 4.0 為面向?qū)ο蟮木幊毯蜆?gòu)造類及對象提供擴(kuò)展的功能和新特征。PHP4實(shí)現(xiàn)了對象重載,引用技術(shù)等新技術(shù)。

      (23)對象重載支持:對象重載語法允許第三方的基于面向?qū)ο蟮念悗焓褂?PHP4 的面向?qū)ο蟮奶卣鞔嫒∷麄冏陨淼墓δ?。使用這個(gè)特征的一個(gè) COM 模塊已經(jīng)被實(shí)現(xiàn)了。

      (24)輸出緩沖支持:PHP 提供了一個(gè)輸出緩沖函數(shù)集合。輸出緩沖支持允許你寫包裹函數(shù)功能壓縮緩沖區(qū)。在 PHP4 的輸出緩沖支持允許 HTML 頭信息存放, 無論 HTML的正文是否輸出。頭信息(header(), content type, and cookies)不采用緩沖。

      (25)增加了PCRE 庫:PHP 4.0 包括一個(gè) Perl 兼容的正則表達(dá)式(PCRE)庫, 和正常regex庫一起與 PHP 綁定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正規(guī)表達(dá)式之間有一些細(xì)微差別。

      (26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新設(shè)計(jì), 使用的 PHP 的配置PHP.ini是更容易并且更有效的。全部文件能被Apache 在運(yùn)行時(shí)間操作(在 Apache環(huán)境 下)或由 Windows 注冊表(在 Windows 下面)。被加入PHP.ini文件的配置指令自動地在所有相關(guān)的模塊中被支持。

      (27)引用計(jì)數(shù):PHP 4.0 為系統(tǒng)中的每個(gè)數(shù)值提供了引用計(jì)數(shù), 包括資源。一旦一個(gè)資源不再被任何變量引用,它自動地被釋放以節(jié)省內(nèi)存資源。利用這個(gè)特征的最明顯的例子一個(gè)內(nèi)置SQL查詢的循環(huán)語句。在PHP 3.0中,每次遞歸另外的 SQL 結(jié)果集合重復(fù)申請內(nèi)存,直到腳本執(zhí)行完畢,這些結(jié)果集合占用的內(nèi)存才被釋放。

      (28)支持引用:通過引用可以改變一個(gè)變量的值。

      (29)函數(shù)的運(yùn)行時(shí)綁定:PHP 4.0 的運(yùn)行時(shí)間綁定功能允許你在他們被聲明以前調(diào)用, 無論聲明是否在代碼以后或是在運(yùn)行時(shí)間。

      (30)類的運(yùn)行時(shí)信息:PHP 4.0 支持在運(yùn)行時(shí)刻存取下列類信息:一個(gè)對象的類名,一個(gè)對象的父類的類名字,以及對象函數(shù)所在的名字。

      (31)服務(wù)器抽象層:為支持Web服務(wù)器提供了增強(qiáng)型 SAPI(服務(wù)器 API)接口,是 PHP 4.0 不可分的一部分。這個(gè)服務(wù)器抽象層,提供了通用的WEB服務(wù)器接口支持,支持多線程WEB服務(wù)器,為大多數(shù)的WEB服務(wù)器提供透明的支持, 這些服務(wù)器包括 Apache ,IIS(ISAPI), 以及 AOL 服務(wù)器。

      (32)語法的點(diǎn)亮顯示:PHP 4.0 語法的點(diǎn)亮顯示允許開發(fā)者看見源代碼而不是腳本, 這個(gè)功能比PHP 3.0中的更有效。它跑得更快,更執(zhí)行得更好,并且產(chǎn)生更緊湊的HTML代碼。

      (33)由引用改變變量的值:PHP 4.0 由引用支持可變的賦值, “關(guān)聯(lián)”的2個(gè)變量之中個(gè)的任何一個(gè)的值被改變,另外的變量的值同樣被改變,這類似與C中的指針類型。

      (34)在引用字符串中的變量引用:PHP 4.0 增強(qiáng)了在引用字符串中的變量引用。PHP5

      PHP5在長時(shí)間的開發(fā)及多個(gè)預(yù)發(fā)布版本后,2004年7月13日,PHP5.0發(fā)布。該版本以Zend引擎Ⅱ?yàn)橐妫⑶壹尤肓诵鹿δ苋鏟HP Data Objects(PDO)?,F(xiàn)在PHP5.0版本強(qiáng)化更多的功能。首先,完全實(shí)現(xiàn)面向?qū)ο螅峁┟麨镻HP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直觀地訪問XML數(shù)據(jù)、名為SimpleXML的XML處理用界面。同時(shí)還強(qiáng)化了XMLWeb服務(wù)支持,而且標(biāo)準(zhǔn)支持SOAP擴(kuò)展模塊。數(shù)據(jù)庫方面,PHP新版本提供旨在訪問MySQL的新界面——MySQL。除此前的界面外,還可以使用面向?qū)ο蠼缑婧皖A(yù)處理語句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上還捆綁有小容量RDBMS-SQLite.

      1、新的對象模式(New Object Mode)

      PHP5 中的對象已經(jīng)進(jìn)行了較系統(tǒng)、較全面的調(diào)整,現(xiàn)在的樣子可能看起來會有些類似于 Java。本小節(jié)著重講述 PHP5 中新的對象模式,并舉了一些較簡易的例子來說明。就讓本節(jié)成為你的 PHP5 之旅的一個(gè)新起點(diǎn)吧。:)

      * 構(gòu)造函數(shù)和析構(gòu)函數(shù)

      * 對象的引用

      * 對象的克隆

      * 對象中的私有、公共及受保護(hù)模式

      * 接口(Interfaces)

      * 抽象類

      * __call

      * __set 和 __get

      * 靜態(tài)成員

      構(gòu)造函數(shù)和析構(gòu)函數(shù)

      在 PHP4 中,當(dāng)函數(shù)與對象同名時(shí),這個(gè)函數(shù)將成為該對象的構(gòu)造函數(shù),并且在 PHP4 中沒有析構(gòu)函數(shù)的概念。

      在 PHP5 中,構(gòu)造函數(shù)被統(tǒng)一命名為 __construct,并且引入了析構(gòu)函數(shù)的概念,被統(tǒng)一命名為 __destruct。

      對象的引用

      在PHP4中,傳遞變量給一個(gè)函數(shù)或方法,實(shí)際是把這個(gè)變量做了一次復(fù)制,也就意味著你傳給函數(shù)或方法的是這個(gè)變量的一個(gè)副本,除非你使用了引用符號“&” 來聲明是要做一個(gè)引用,而不是一個(gè) Copy。在 PHP5中,對象總是以引用的形式存在的,對象中的賦值操作同樣也都是一個(gè)引用操作。

      對象的克隆

      當(dāng)一個(gè)對象始終以引用的形式來被調(diào)用時(shí),如果我想得到該對象的一個(gè)副本,該怎么辦呢?PHP5 提供了一個(gè)新的功能,就是對象的克隆,語法為 __clone。

      對象中的私有、公共及保護(hù)模式

      PHP4 中,一個(gè)對象的所有方法和變量都是公共的,這意味著你可以在一個(gè)對象的外部操作其中的任意一個(gè)變量和方法。PHP5 引入了三種新的用來控制這種存取權(quán)限的模式,它們是:公共的(Public)、受保護(hù)的(Protected)及私有的(Private)。

      公共模式(Public):允許在對象外部進(jìn)行操作控制。

      私有模式(Private):只允許本對象內(nèi)的方法對其進(jìn)行操作控制。

      受保護(hù)模式(Protected):允許本對象及其父對象對其進(jìn)行操作控制。

      接口(Interfaces)

      PHP4中的對象支持繼承,要使一個(gè)對象成為另一個(gè)對象的派生類,你需要使用類似 “class foo extends parent” 的代碼來控制。PHP4 和 PHP5 中,一個(gè)對象都僅能繼承一次,多重繼承是不被支持的。不過,在 PHP5中產(chǎn)生了一個(gè)新的名詞:接口,接口是一個(gè)沒有具體處理代碼的特殊對象,它僅僅定義了一些方法的名稱及參數(shù),此后的對象就可以方便的使用'implement' 關(guān)鍵字把需要的接口整合起來,然后再加入具體的執(zhí)行代碼。

      這對提高代碼的可讀性及通俗性有很大的幫助,通過上面的例子可以看到,對象 foo 包含了displayable 和 printable 兩個(gè)接口,這時(shí)我們就可以清楚的知道,對象 foo 一定會有一個(gè) display()方法和一個(gè)print()方法,只需要去了解接口部分,你就可以輕易的操作該對象而不必去關(guān)心對象的內(nèi)部是如何運(yùn)作的。

      抽象類

      抽象類不能被實(shí)例化。

      抽象類與其它類一樣,允許定義變量及方法。

      抽象類同樣可以定義一個(gè)抽象的方法,抽象類的方法不會被執(zhí)行,不過將有可能會在其派生類中執(zhí)行。

      __call

      PHP5 的對象新增了一個(gè)專用方法 __call(),這個(gè)方法用來監(jiān)視一個(gè)對象中的其它方法。如果你試著調(diào)用一個(gè)對象中不存在的方法,__call 方法將會被自動調(diào)用。

      __set 和 __get

      這是一個(gè)很棒的方法,__set 和 __get 方法可以用來捕獲一個(gè)對象中不存在的變量和方法。

      類型指示

      在 PHP5 中,你可以在對象的方法中指明其參數(shù)必須為另一個(gè)對象的實(shí)例。

      靜態(tài)成員

      靜態(tài)成員和靜態(tài)方法在面象對象編程的術(shù)語中被稱作 “類方法(class methods)” 和 “類變量(class variables)”。

      “類方法” 在一個(gè)對象沒有實(shí)例化前允許被調(diào)用。同樣,“類變量” 在一個(gè)對象沒有實(shí)例化前可以被獨(dú)立操作控制(不需要用一個(gè)對象的方法來控制)。

      2、異常處理(Exceptions)

      異常處理是公認(rèn)的處理程序錯(cuò)誤的理想方法,在 Java 及 C 中都有這個(gè)概念,我們欣喜的看到,在 PHP5 已經(jīng)加入了這方面的應(yīng)用。你可以嘗試使用 “try” 和 “catch” 來控制程序的錯(cuò)誤。當(dāng)有錯(cuò)誤發(fā)生的時(shí)候,代碼會把錯(cuò)誤交給 “catch” 子句來處理,在 “catch” 子句中,你需要指明要把錯(cuò)誤交給某個(gè)對象處理,這樣做可以使代碼結(jié)構(gòu)看起來更清晰,因?yàn)楝F(xiàn)在我們可以把所有的錯(cuò)誤信息交給一個(gè)對象來處理。

      自定義錯(cuò)誤處理

      你可以很方便的用自定義的處理錯(cuò)誤的代碼來控制你的程序中的意外。你僅僅需要從異常類中派生出一個(gè)自己的錯(cuò)誤控制類,在你自己的錯(cuò)誤控制類中,你需要有一個(gè)構(gòu)造函數(shù)和一個(gè) getMessage 方法。

      3、名稱空間(Namespace)

      名稱空間對類的分組或函數(shù)分組很有用。它可以把一些相關(guān)的類或函數(shù)給組合到一起,方便以后調(diào)用。

      例:名稱空間

      namespace Math

      {

      class Complex

      {

      //...code...function __construct()

      {

      print(“hey”);

      }

      }

      }

      $m = new Math::Complex();

      ?>

      注意你需要在何種情況下使用名稱空間,在實(shí)際運(yùn)用中,你可能會需要聲明兩個(gè)或多個(gè)名稱一樣的對象來做不同的事情,那么你就可以把他們分別放到不同的名稱空間中去(但接口是要相同的)。

      PHP6設(shè)想 1.支持Unicode

      支持Unicode是有其必然,雖然Unicode占用較多的空間,但Unicode帶來的便利性,遠(yuǎn)超過占用空間的缺點(diǎn),尤其在國際化的今天,硬件設(shè)備越來越強(qiáng)大,網(wǎng)速也大幅度的提升,這么一點(diǎn)小小的缺點(diǎn)是可以忽略的。另外一點(diǎn),PHP也可以在.ini文件中設(shè)定是否開啟支持Unicode,決定權(quán)在你自己,這是一個(gè)不錯(cuò)的點(diǎn)子,關(guān)掉Unicode的支持,PHP的性能并不會有大幅度的提升,主要的影響在于需要引用字符串的函數(shù)。.2.Register Globals 將被移除

      這是一個(gè)重要的決定,許多新進(jìn)的PHP開發(fā)者會覺得Register Globals蠻方便的,但是卻忽略了Register Globals會帶來程序上安全性的隱患,大多數(shù)的主機(jī)上此項(xiàng)功能是關(guān)閉的,印象PHP4.3.x版開始時(shí),此項(xiàng)默認(rèn)設(shè)置值即是關(guān)閉狀態(tài),PHP6正式移除Register Globals也代表著如果程序是由PHP3時(shí)代的產(chǎn)物,將完全無法使用,除了改寫一途外,別無他法。相信現(xiàn)在的PHP世界里,仍使用PHP3時(shí)代所產(chǎn)生的程序應(yīng)該是少之又少。

      3.Magic Quotes 將消失

      Magic Quotes主要是自動轉(zhuǎn)義需要轉(zhuǎn)義的字符,此項(xiàng)功能移除也符合大多數(shù)PHP開發(fā)者的心聲。

      4.Safe Mode 取消

      老實(shí)說,這個(gè)模式不知道哪里不好,取消就取消吧,反正也用不到

      5.'var' 別名為 'public'

      在類中的var聲明變成public的別名,相信是為了兼容PHP5而作的決定,PHP6現(xiàn)在也可以稱作為OO語言了。

      6.通過引用返回將出錯(cuò)

      現(xiàn)在透過引用返回編譯器將會報(bào)錯(cuò) 例如$a =& new b()、function &c(),OO語言默認(rèn)就是引用,所以不需要再使用&了。

      7.zend.ze1 compatbility mode 將被移去

      Zend.ze1相容模式將被移去,PHP5是為兼容舊有PHP4,所以在.ini中可選擇是否開啟相容模式,原因在于PHP5使用的是第二代解析引擎,但是相容模式并不是百分之百能解析PHP4語法,所以舊時(shí)代的產(chǎn)物,移除。

      8.Freetype 1 and GD 1 support 將不見

      這兩個(gè)是很久的Libs,所以不再支持,GD1早已被現(xiàn)在的GD2取代了。

      9.dl()被移到 SAPI 中

      dl()主要是讓設(shè)計(jì)師加載extension Libs,現(xiàn)在被移到 SAPI 中

      10.Register Long Array 去除

      從PHP5起默認(rèn)是關(guān)閉,再PHP6中正式移除。

      11.一些Extension的變更

      例如 XMLReader 和 XMLWriter將不再是以Extension的方式出現(xiàn),他們將被移入到PHP的核心之中,并且默認(rèn)是開啟,eregextension將被放入PECL,代表著它將被移出PHP核心,這也為了讓路給新的正則表達(dá)式extension,此外,F(xiàn)ileinfoextension 也將被導(dǎo)入PHP的核心之中。

      12.APC將被導(dǎo)入核心

      這是一個(gè)提高PHP性能的功能,現(xiàn)在它將被放入PHP核心中,并且可以選擇是否啟用APC 13.告別ASP風(fēng)格的起始標(biāo)簽

      原來是為了取悅ASP開發(fā)者轉(zhuǎn)向使用PHP,現(xiàn)今已經(jīng)不再需要這種做法了

      擴(kuò)展閱讀: PHPChina:http://bbs.phpchina.com/?fromuid=171390 2 PHP官方網(wǎng)站http:// 參考來源:http://baike.baidu.com/view/99.htm?func=retitle

      第二篇:PHP課后

      PHP課后習(xí)題

      第一章自測題

      一、單選題

      1.動態(tài)網(wǎng)站隸屬性下面哪一種軟件開發(fā)形式()

      A.應(yīng)用程序開發(fā)

      B.C/S架構(gòu)軟件

      C.嵌入式程序開發(fā)

      D.B/S架構(gòu)軟件

      2.在下面的選項(xiàng)中,哪一種Web構(gòu)建在開發(fā)動態(tài)網(wǎng)站時(shí)通常用于接收井處理用戶事件()

      A.HTML

      B.CSS

      C.JavaScript

      D.PHP 3.下面幾個(gè)后臺腳本編程語言中,哪個(gè)屬于開源的軟件()

      A.ASP

      B.PHP

      C.JSP

      D.CGI 4.下面幾個(gè)Web構(gòu)建中,哪個(gè)可以直接作為數(shù)據(jù)庫的客戶端應(yīng)用處理數(shù)據(jù)庫中的數(shù)據(jù)()

      A.JavaScript

      B.Apache

      C.Linux

      D.PHP 5.用于調(diào)整網(wǎng)頁的外觀和布局的Web構(gòu)建是下面選項(xiàng)中的哪一個(gè)()

      A.PHP

      B.JavaScript

      C.CSS

      D.XML 6.構(gòu)建一個(gè)網(wǎng)站開發(fā)平臺,希望具有簡易性、低成本、高安全性、開發(fā)速度快并且執(zhí)行靈活,可以選擇下面選項(xiàng)中哪一種網(wǎng)站開發(fā)平臺()

      A.ASP.NET

      B.J2EE

      C.LAMP

      D.CGI 7.下面選項(xiàng)中,哪個(gè)不屬于URL的組成部分()

      A.傳輸協(xié)議

      B.主機(jī)

      C.端口

      D.Internet 8.如果選用LAMP平臺開發(fā)Web程序,下面選項(xiàng)中不能使用PHP處理的工作是()

      A.接收用戶表單

      B.處理用戶事件

      C.圖像處理

      D.生成HTML輸出

      9.在下面的選項(xiàng)中,可以由Web服務(wù)器Apache完成的工作是哪一個(gè)()

      A.解析PHP文件

      B.連接處理數(shù)據(jù)庫

      C.主動建立與客戶端連接

      D.發(fā)布網(wǎng)站

      10.在下面的選項(xiàng)中,對MySQL數(shù)據(jù)庫描述不正確的是()

      A.MySQL屬于C/S結(jié)構(gòu)軟件

      B.在LAMP組合的開發(fā)平臺中,MySQL用于保存網(wǎng)站中的內(nèi)容數(shù)據(jù)

      C.可以使用PHP作為MySQL客戶端程序連接并處理MySQL服務(wù)器

      D.MySQL服務(wù)器必須和Apache服務(wù)器以及PHP應(yīng)用服務(wù)器安裝在同一臺電腦中

      二、練習(xí)題

      1.了解B/S軟件體系結(jié)構(gòu)的特點(diǎn)。

      2.掌握動態(tài)網(wǎng)站開發(fā)所需要的Web構(gòu)件,及每種構(gòu)件在Web開發(fā)中的用途。3.了解網(wǎng)站的運(yùn)行過程,Web的王作原理

      4。了解HTTP請求/響應(yīng)模式的過程,及URL的作用 5.探索LAMP組合的特性及應(yīng)用領(lǐng)域

      第二章自測題

      1.下載最新版本的源代碼包,在Linux操作系統(tǒng)下為自己安裝一個(gè)最好的LAMP運(yùn)行平臺,并配置好phpMyAdmin。

      2.下載各種軟件的最穩(wěn)定版本,在Windows操作系統(tǒng)中獨(dú)立安裝屬于自己的PHP T作平臺,要求設(shè)置好每個(gè)軟件的安裝路徑,井配置好phpMyAdmin。

      3.挑選一種自己喜歡的PHP及相關(guān)軟件的集成版本,安裝并進(jìn)行設(shè)置。

      4.不管是安裝的哪一種開發(fā)環(huán)境,找到Apache、MySQL、PHP的安裝目錄和它們的配置文件,以及網(wǎng)頁發(fā)布目錄的位置。

      第三章自測題

      一、單選題

      1.Apache是()服務(wù)的服務(wù)器程序

      A.004km.cn)A.strchr, split,var_dump

      B.strstr,explode, print_r C.srrstr,explode, echo

      D.Strchr,split, var,_dump 5.下面哪個(gè)正則表達(dá)式,可以從服務(wù)器上取到訪問域名第二層()A.preg_replace(“/.*([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”, $_SERVER['HTTP_ HOST'])B.preg_replace(“/.*?([^.V]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$_SERVER['HTTP_ HOST'])C.preg_replace(“/.*([^.v]+)(.(comlnetlorg))?.[^.V]+$/”,“1”,$HTTP HOST)D.preg_replace(“/.*?([^.V]+)(.(comInmlorg))?.[^.V]+$/”,“1”,$HTTP_HOST)PHP中,下列哪個(gè)函數(shù)是將字符串前后顛倒()A.strrev()

      B.strrpos()C.strstr()

      D.sirfiirst()6.下列那個(gè)選項(xiàng)是正確的引用文件的方法:()A.require和include

      B.re:quire和function C.define和include

      D.function和include 7.以下字符的長度是()

      $text=“ tllo ”;

      echo strlen(trim($text));

      ?> A.9

      B.5

      C.7

      D.3 8.將字符串中所有英文單字的開頭字母轉(zhuǎn)換為大寫的函數(shù)應(yīng)該是()A.ucfrrst(“字符串”)

      B.strtolower()C.strtoupper()

      D.ucwords()

      二、練習(xí)題

      1.寫出一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確。

      2.寫出一個(gè)正則表達(dá)式,過濾網(wǎng)頁上的所有JavaScript/VBScript腳本(即把script標(biāo)記及其內(nèi)容都去掉)。3.編寫一個(gè)PHP腳本程序,用于接受用戶在表單中的輸入,井要求在該腳本中進(jìn)行數(shù)據(jù)效驗(yàn)(在客戶端表單中有以下字段和需要效驗(yàn)的格式)。

      Name

      請輸入你的名字,單行,32個(gè)漢字以下.8個(gè)漢字以上

      Title

      請輸入標(biāo)題,單行,64個(gè)漢字以下,不能為空

      Body

      輸入文本內(nèi)容,多行,不限

      E-mail 請輸入郵件地址,按電子郵件格式效驗(yàn)

      Birthday請輸入生日,按YYYY-MM-DD格式效驗(yàn)

      第八章自測題

      自測題

      一、單選題

      1.以下哪個(gè)錯(cuò)誤級別會使程序崩潰,阻止并退出程序()A.E_WARNING

      B.E_NOTICE

      C.E_ERROR

      D.以上都可以 2.下面劉PHP錯(cuò)誤日志描述不正確的是()

      A.可以錯(cuò)誤記錄到Apache服務(wù)器的錯(cuò)誤日志文件error.log 中

      B.記錄錯(cuò)誤日志到自己指定的文件中

      C.可以將錯(cuò)誤日志發(fā)送給系統(tǒng)syslog

      D。在寫入錯(cuò)誤日志之前,應(yīng)該先在PHP配置文件中將displa y_errors選項(xiàng)開啟 3.關(guān)于PHP 5中的異常,下列四句描述中哪句是錯(cuò)誤的()

      A.異常也是一個(gè)類

      B,為了拋出我們自建的異常,我們必須使用throw語句實(shí)現(xiàn)

      C.異常在拋山后會在父一層被自動消滅掉

      D.要容忍某些特定的異常,我們應(yīng)該使用try?catch語法的同時(shí),留空catch段 4.下面哪個(gè)函數(shù)不能返回UNIX時(shí)間戳()

      A.Time()

      B.strtotime()

      C.localtimeo

      D.gmrnktime()5.當(dāng)前GMT時(shí)區(qū)的時(shí)間戳和當(dāng)前本地的時(shí)間戳,在秒上有什么區(qū)別()

      A.這取決于本地時(shí)區(qū)和GMT時(shí)區(qū)之間小時(shí)數(shù)的差別

      B.沒有任何區(qū)別

      C.本地時(shí)區(qū)和GMT時(shí)區(qū)完全匹配時(shí)才相等

      D.沒有可比的地方

      6.以下哪一個(gè)是最簡單的方式將microtime()轉(zhuǎn)化輸出為一個(gè)單一的數(shù)值()

      A.$time=implode(' ',microtime());

      B.$time=explode(' ',microtime());$time=$t.ime[0]+$time [1];

      C.$time=microtime()+microtime();

      D.$time=arr ay_sum(explode(' ',microtime()));7.下面程序運(yùn)行結(jié)果為()

      $nextWeek=timeO+(7*24*60*60);

      echo 'Now:'.date('Y-m-d').“n”;

      echo 'Next Week:'.date('Y-m-d',$nextWeek).“n”;

      ?>

      A.得到今天的日期(月-曰)

      B-得到今天的U期(年-月-U)與下周的日期(年-月-日)

      c.得到現(xiàn)在的時(shí)間(小時(shí)-分-秒)

      D.得到現(xiàn)在到下周的時(shí)間間隔

      8.使用PHP的GD函數(shù)庫動態(tài)創(chuàng)建圖像時(shí),需要先獲取圖像資源,下面函數(shù)中哪一個(gè)不能創(chuàng)建圖像資源()

      A.imagecreate()

      B.imagec:reatetruecolor()

      C.imagecreateflromjpeg()

      D.imagecolorallocate()

      二、練習(xí)題

      1.簡述PHP中error_reporting函數(shù)的作用是什么。

      2。使用PHP的日期和時(shí)間函數(shù),打印出“前一天“的日期和時(shí)問信息(輸出可以參考2009-5-12 11:05:30格式)。

      3.使用PHP的GD函數(shù)庫編寫一個(gè)具有縮放圖片和添加水印功能的類(要求支持中文水印)。

      第十一章自測題

      一、單選題

      1.怎樣打開或創(chuàng)建一個(gè)文件()

      A.open()

      B.fopen()

      C.fwriteo

      D,write()2.下面哪兩個(gè)參數(shù)用來提示fopen()函數(shù)打開一個(gè)文件進(jìn)行讀取并寫入()

      A.w

      B.r

      c.a

      D.+ 3.哪個(gè)函數(shù)用來從文本文件里面讀取一個(gè)單獨(dú)的行,但是當(dāng)你需要讀取二進(jìn)制數(shù)據(jù)或者其他格式的文件的時(shí)候,你需要使用哪個(gè)函數(shù)()

      A.fgets(),fseeko

      B.freda(),fgets0

      C.fputs(),fgets()

      D.fgets0,fread()4.下面代碼中file_ exists的意義是()

      $ filename-‘/path/to/foo.txt’;

      Iq(file_exists($fil.encame)){

      Echo“The file $filenfune exists”;

      }else{

      echo “Thcfile$filename does not exist”;)

      ?>

      A.測試字符串

      B.測試數(shù)組

      C.測試變量

      D.測試一個(gè)文件是否存在

      5./tmp是上傳文件的默認(rèn)存儲目錄,如果更改這個(gè)目錄需要編輯哪個(gè)文件的哪個(gè)屬性值(A.php.ini文件的upload_tmp_dir屬性

      B.php.ini文件的uploaud_dif屬性

      c-php,conf文件的upl'oad_tmp_dir屬性

      D.php+conf文件的upload_dir屬性 6.以下代碼運(yùn)行結(jié)果為()

      $fp=fopen(”/etc/passwd“,”rt“);

      $data=fgets($fp,12);

      echo ftell($fp);

      fclose($fp);

      ?>

      A.13

      B.11

      C.0

      D.10 7.File()函數(shù)返回的數(shù)據(jù)類型為()

      A.?dāng)?shù)組

      B.字符串

      C.整型

      D.根據(jù)文件來定 8.PHP中刪除文件的函數(shù)是()

      A.rm

      B.del

      C.unlink

      D.rm-if 9.PHP中,可以用來接收上傳的文件的函數(shù)是()

      A.$一FILES

      B-copys

      C.is_uploadnle

      D-move_uploaded_file 10.PHP中用來刪除當(dāng)前日錄的函數(shù)是()

      A.chdir

      B.cd

      C.opendir

      D.rmdir =、練習(xí)題

      1.使用PHP的文件處理函數(shù)實(shí)現(xiàn)網(wǎng)頁靜態(tài)化功能。

      2.寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。

      3.在沒有數(shù)據(jù)庫的環(huán)境下,以文件替代數(shù)據(jù)庫實(shí)現(xiàn)一個(gè)完整的網(wǎng)頁留言板功能。

      第十二章自測題

      一、單選題

      1.下列哪些數(shù)據(jù)庫管理系統(tǒng)是PHP不支持的()A.MySQL

      B-IBM DB2

      C.PostgreSQL

      D.Microsoft SQL Server

      E.以上沒有一個(gè)PHP不支持

      2.請看下面的SQL查詢語句,選擇哪兩項(xiàng)可以減少從數(shù)據(jù)庫返回的數(shù)據(jù)量()SELECT*FROM

      MY —TABLE

      A.轉(zhuǎn)為存儲過程

      B.用具體的字段名來代替“*”

      c.加一個(gè)“wnere”語句

      D.轉(zhuǎn)變查詢?yōu)橐晥D

      E.使用預(yù)語句 3.下面哪個(gè)不是一個(gè)合法的SQL的歸類函數(shù)()

      A.AVG

      B.SUM

      C.MIN

      D.MAX

      E.CURRENT_DATEO 4.mysql_affected_rows()對哪個(gè)操作沒有影響()

      A.SELECT

      B.DELETE

      C, UPDATE

      D.INSERT 5.取得搜索語句的結(jié)果集中的記錄總數(shù)的函數(shù)是()

      A.Mysql-fetch-row

      B.mysql-u root password tcst

      C.mysql_num-rows

      D.mysql-u root-password test 6.mysql_insert_id()函數(shù)的作用是()

      A.盤看下一次捅入記錄時(shí)的ID號

      B.查看剛剛插入過的自動增長ID值

      C.查看一共做過多少次insert操作

      D.查看一共多少條記錄 7.修改MySQL崩戶root的密碼的指令是(A.mysqiadmin—u root password test

      B.mysql-u root password test

      C.mysql—Ll root—ptest

      D.mysql-u root-password test

      8.以下代碼執(zhí)行結(jié)果是()

      A.報(bào)錯(cuò)

      C.循環(huán)換行打印全部記錄

      B.只打印一條記錄 D.無任何結(jié)果

      B.查看剛剮插入過的自動增長ID值 D.查看一共有多少條記錄

      9.假設(shè)-f一個(gè)數(shù)據(jù)庫mydb中有一個(gè)表tb】,表中有六個(gè)字段,主鍵為ID,有十條記錄,ID從0到9,以下代碼輸山結(jié)果是()

      $link 2 mysql_c.onnec.t(”IocalhostrP, “mysql_user't, ”mysql_passwordr')

      or die(l'Could not connelc.t:”.m ysql_erroH));

      tSresult 2 mysql_query{T'SELECT i.d,name,age FROM mydb.tbl where id<5");

      or die(P'Could not query:.mysqI—error(》;

      echo mysql_num_fields(S;result.);

      mysql_close{'$tink);

      ?>

      A,6

      B.5

      C.4

      D.3 10.使用以下哪條指令能夠?qū)崿F(xiàn)數(shù)據(jù)庫的長久連接()

      A.mysql_connecE

      B.mysql_con nectd

      C.mysql_pconnetcd

      D.mysql_pconnect 1 1.建立一個(gè)“學(xué)生”表Student,它由學(xué)弓Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個(gè)屬性組成。其中學(xué)號不能為空,值是唯一的,并且姓名取值也唯一,下列哪個(gè)選項(xiàng)正確()

      A.CREATE TABLE.Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(1),Sage INT* Sdep CHAR(1 5)):

      B-

      CREATE TABLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(I)Sage INT, Sdept CHAR(15));

      C.CREATE TABLE Student(Sno CHAR(5), Snarm: CHAR(20)UNIQUE* Ssex CHAR(I), SageINT.Sdept CHAR(15));

      D-CREATE TAHLE Student(Sno CHAR(5)NOT NULL UNIQUE, Sname CHAR(20)UNIQUE,Ssex CHAR(l), Sdcpt CHAR(1 5)): 12.查詢所有年齡在20歲以下的學(xué)生姓名及其年齡,以下正確的是()

      A, SELECT Sname,Sage FROM Student.WHERE Sage<=20;

      B.SELECT Sname,Sage FROM Student WHERE NOT Sage<20;

      C-SELECT Sname,Sage FROM Student WHERE NOT Sage>20;

      D.SELECT Sname,Sage FROM Studcnt WHERE Sage<20;13.查詢名字中第2個(gè)字為“陽”字的學(xué)生的姓名和學(xué)號,下列正確的是()

      A.SELECT Sname,Sno FROM Student WHERE Sname LIKE '_陽%';

      B.SELECT Sname,Sno FROM Student WHERE Sname LIKE'陽%':

      C.SELECT Sname,Sno FROM StU dent WHERE Sn ame LIKE'一陽';

      D.SELE CT Sn ame,Sno FROM Student WHERE Sname LIKE'陽_%';14.HAVING短語與WHERE子句的區(qū)別是()

      A.WHERE進(jìn)擇滿足條件的組

      B.HAVING選擇滿足條件的元組

      C,作用對象不同

      D.查詢條件不同

      15.導(dǎo)山數(shù)據(jù)庫正確的方法為()

      A.mysqldump數(shù)據(jù)庫名>文件名;

      B,mys qldump數(shù)據(jù)庫名>>文件名;

      c.mysqliciump數(shù)據(jù)庫名 文件名;

      D.mysqldump數(shù)據(jù)庫名=文作名; 16.

      卜面哪一項(xiàng)不是有效的SELECT語句()

      A.SELECT astname,firstname FROM customers;

      B-SELECT*FROM orders;

      C.Select FirstName NAME from CUSTOMERS;

      D,SELECT lastname Last Name FROM customers;1 7.以下ALTER語法不正確的是()

      A.ALTER TAHLE tl RENAME t2;

      B.ALTER TABLE t2 MODIFY a TINYINT NOT NULL;

      C.ALTER TABLE t2 MODIFY a TINYrNT NOT NULL, CHANGE b CHAR(20);

      D.ALTER TABLE t2 ADD c INT UNSIGNED NOT NULLAUTO_INCREMENT, ADD INDEX(c);1 8.下面哪一個(gè)不是有效的約束類型()

      A.PRIMARYKEYS

      B.UNIQUE

      C.CHECK

      D.FOREIGN KEY 19.MySQL.中表的默認(rèn)類型為()

      A.ISAM

      B.InnoDB

      C.MyISAM

      D.HE.AP

      二、練習(xí)題

      1.實(shí)現(xiàn)用戶注冊功能。需要建一張用戶信息表,并編寫注冊和結(jié)果兩個(gè)頁面。用戶在注冊頁面填寫注冊信息,提交到結(jié)果頁面后顯示注冊的結(jié)果。

      具體要求:

      (1)在MySQL數(shù)據(jù)庫的test數(shù)據(jù)庫中,創(chuàng)建一張用于存放用戶注冊信息的表,表中有描用戶名”、“密碼”兩個(gè)字段,并且設(shè)置“用戶名”字段為主鍵;

      (2.)用戶注冊頁面要顯示一個(gè)輸入框、一個(gè)密碼框和一個(gè)“注冊”提交按鈕:

      (3)用戶單擊“注冊”按鈕時(shí),耍用JavaScript技術(shù)對用廣的輸入信息進(jìn)行判斷,包括 用戶名或者密碼不能為空,密碼的長度必須大于6位,用戶名和密碼的長度必須小于10位。假如用戶輸入不符合上述規(guī)范,則彈出相應(yīng)的錯(cuò)誤提示信息終止提交;只有當(dāng)用戶輸入滿足上規(guī)范時(shí),才允許將表單提交到結(jié)果頁面;

      (4)如果用戶名在表中已經(jīng)存在,則在結(jié)果頁面提示用戶重新輸入用戶名;

      (5)如果用戶名在表中不存在,則將用戶的注冊信息插入到數(shù)據(jù)庫中,并在結(jié)果頁面顯示“注冊成功”的提示信息;

      (6)用戶注冊成功后,在結(jié)果頁面顯示“現(xiàn)在已經(jīng)有×X位注冊用戶了!”并將所有的注

      冊用戶信息以列表方式顯示出來。

      2.在M.ySQL數(shù)據(jù)庫,使用的用戶名為root,密碼為php。其中的一個(gè)數(shù)據(jù)庫名稱為lamp,其中的有兩個(gè)表名為type和border。下面為兩個(gè)表中的關(guān)系與數(shù)據(jù):

      表type

      表Border

      編寫一個(gè)腳本遍歷兩張表中的數(shù)據(jù)形成目錄結(jié)構(gòu),一級為type表中的數(shù)據(jù),每個(gè)類別下為border表中的數(shù)據(jù)。

      具體要求:

      (1)數(shù)掘庫文件(具體操作語句)。

      (2)正確顯示一級type表中數(shù)據(jù)。

      (3)正確顯示每個(gè)類下border表中數(shù)據(jù)母

      第三篇:php試題

      1.寫一個(gè)函數(shù),盡可能高效的,從一個(gè)標(biāo)準(zhǔn) url 里取出文件的擴(kuò)展名

      例如: http:// 語言中,頁面頭部的 meta 標(biāo)記可以用來輸出文件的編碼 格式,以下是一個(gè)標(biāo)準(zhǔn)的 meta 語句

      請使用 PHP 語言寫一個(gè)函數(shù),把一個(gè)標(biāo)準(zhǔn) HTML 頁面中的類似 meta 標(biāo)記中的 charset 部分值改為 big5 請注意:(1)需要處理完整的 html 頁面,即不光此 meta 語句(2)忽略大小寫

      (3)? 和 ” 在此處是可以互換的

      (4)?Content-Type? 兩側(cè)的引號是可以忽略的,但 ?text/html;charset=gbk? 兩側(cè)的不行(5)注意處理多余空格

      3.寫一個(gè)函數(shù),算出兩個(gè)文件的相對路徑 如 $a = ?/a/b/c/d/e.php?;$b = ?/a/b/12/34/c.php?;

      計(jì)算出 $b 相對于 $a 的相對路徑應(yīng)該是../../c/d將()添上

      4.寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。5.簡述論壇中無限分類的實(shí)現(xiàn)原理。

      6.設(shè)計(jì)一個(gè)網(wǎng)頁,使得打開它時(shí)彈出一個(gè)全屏的窗口,該窗口中有一個(gè)文本框和一個(gè)按鈕。用戶在文本框中輸入信息后點(diǎn)擊按鈕就可以把窗口關(guān)閉,而輸入的信息卻在主網(wǎng)頁中顯示。簡述題(50分)

      1、用PHP打印出前一天的時(shí)間格式是2006-5-10 22:21:21(2分)

      2、echo(),print(),print_r()的區(qū)別(3分)

      3、能夠使HTML和PHP分離開使用的模板(1分)

      5、使用哪些工具進(jìn)行版本控制?(1分)

      6、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分)

      7、優(yōu)化MYSQL數(shù)據(jù)庫的方法。(4分,多寫多得)

      8、PHP的意思(送1分)

      9、MYSQL取得當(dāng)前時(shí)間的函數(shù)是?,格式化日期的函數(shù)是(2分)

      10、實(shí)現(xiàn)中文字串截取無亂碼的方法。(3分)

      11、您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?(1分)

      12、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分)phperz.com

      13、請簡單闡述您最得意的開發(fā)之作(4分)

      14、對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?(4分)

      15、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼1分)

      16、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們?(2分)

      17、如何修改SESSION的生存時(shí)間(1分).18、有一個(gè)網(wǎng)頁地址, 比如PHP開發(fā)資源網(wǎng)主頁: http://,如何得到它的內(nèi)容?($1分)

      19、在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為(?);(2分)

      12、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須?(1分)

      13、談?wù)刟sp,php,jsp的優(yōu)缺點(diǎn)(1分)

      14、談?wù)剬vc的認(rèn)識(1分)

      15、寫出發(fā)貼數(shù)最多的十個(gè)人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)16.請說明php中傳值與傳引用的區(qū)別。什么時(shí)候傳值什么時(shí)候傳引用?(2分)php程序員站

      17.在PHP中error_reporting這個(gè)函數(shù)有什么作用?(1分)18.請寫一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確(2分)19.簡述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。(2分)20.如何修改SESSION的生存時(shí)間.(1分)

      21、JS表單彈出對話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?(2分)

      22、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個(gè)外部JS文件?(2分)

      23、foo()和@foo()之間有什么區(qū)別?(1分)

      24、如何聲明一個(gè)名為”myclass”的沒有方法和屬性的類?(1分)

      25、如何實(shí)例化一個(gè)名為”myclass”的對象?(1分)

      26、你如何訪問和設(shè)置一個(gè)類的屬性?(2分)

      27、mysql_fetch_row()和mysql_fetch_array之間有什么區(qū)別?(1分)

      28、GD庫是做什么用的?(1分)

      29、指出一些在PHP輸入一段HTML代碼的辦法。(1分)30、下面哪個(gè)函數(shù)可以打開一個(gè)文件,以對文件進(jìn)行讀和寫操作?(1分)(a)fget()(b)file_open()

      (c)fopen()

      (d)open_file()004km.cn

      31、下面哪個(gè)選項(xiàng)沒有將 john 添加到users 數(shù)組中?(1分)(a)$users[] = ?john?;

      (b)array_add($users,?john?);(c)array_push($users,?john?);(d)$users ||= ?john?;

      32、下面的程序會輸入是否?(1分)

      33、使用php寫一段簡單查詢,查出所有姓名為“張三”的內(nèi)容并打印出來(2分)表名User Name Tel Content Date 張三 *** 大專畢業(yè) 2006-10-11 張三 *** 本科畢業(yè) 2006-10-15 張四 021-55665566 中專畢業(yè) 2006-10-15 請根據(jù)上面的題目完成代碼:

      $mysql_db=mysql_connect(“l(fā)ocal”,”root”,”pass”);004km.cn @mysql_select_db(“DB”,$mysql_db);

      34、如何使用下面的類,并解釋下面什么意思?(3)class test{

      function Get_test($num){ $num=md5(md5($num).”En”);return $num;

      }

      }

      35、寫出 SQL語句的格式 : 插入,更新,刪除(4分)表名User Name Tel Content Date 張三 *** 大專畢業(yè) 2006-10-11 張三 *** 本科畢業(yè) 2006-10-15 張四 021-55665566 中專畢業(yè) 2006-10-15(a)有一新記錄(小王 *** 高中畢業(yè) 2007-05-06)請用SQL語句新增至表中(b)請用sql語句把張三的時(shí)間更新成為當(dāng)前系統(tǒng)時(shí)間(c)請寫出刪除名為張四的全部記錄

      36、請寫出數(shù)據(jù)類型(int char varchar datetime text)的意思;請問varchar和char有什么區(qū)別(2分)

      37、MySQ自增類型(通常為表ID字段)必需將其設(shè)為(?)字段(1分)

      38、寫出以下程序的輸出結(jié)果(1分)$c?4:5;echo $a;?>

      39、檢測一個(gè)變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?(2分)40、取得查詢結(jié)果集總數(shù)的函數(shù)是?(1分)

      41、$arr = array(?james?, ?tom?, ?symfony?);請打印出第一個(gè)元素的值(1分)

      42、請將41題的數(shù)組的值用?,'號分隔并合并成字串輸出(1分)

      43、$a = ?abcdef?;請取出$a的值并打印出第一個(gè)字母(1分)

      44、PHP可以和sql server/oracle等數(shù)據(jù)庫連接嗎?(1分)

      45、請寫出PHP5權(quán)限控制修飾符(3分)

      46、請寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)(2分)

      47、以下請用PHPMYADMIN完成

      (一)創(chuàng)建新聞發(fā)布系統(tǒng),表名為message有如下字段(3分)php程序員站 id 文章id title 文章標(biāo)題 content 文章內(nèi)容

      category_id 文章分類id hits 點(diǎn)擊量

      (二)同樣上述新聞發(fā)布系統(tǒng):表comment記錄用戶回復(fù)內(nèi)容,字段如下(4分)comment_id 回復(fù)id id 文章id,關(guān)聯(lián)message表中的id comment_content 回復(fù)內(nèi)容

      現(xiàn)通過查詢數(shù)據(jù)庫需要得到以下格式的文章標(biāo)題列表,并按照回復(fù)數(shù)量排序,回復(fù)最高的排在最前面

      文章id 文章標(biāo)題 點(diǎn)擊量 回復(fù)數(shù)量

      用一個(gè)SQL語句完成上述查詢,如果文章沒有回復(fù)則回復(fù)數(shù)量顯示為0

      (三)上述內(nèi)容管理系統(tǒng),表category保存分類信息,字段如下(3分)category_id int(4)not null auto_increment;categroy_name varchar(40)not null;

      第四篇:PHP面試題

      PHP程序員初級面試題

      一、解釋一下語句作用,并標(biāo)示出以下哪一句不會把 John 新增到 users 陣列?

      $users[] = 'john';

      array_add($users,?john?);

      array_push($users,?john?);

      $users ||= 'john';

      二、sort()、assort()、和 ksort()有什么分別?它們分別在什么情況下使用? sort()

      asort()

      ksort()

      三、以下的代碼會產(chǎn)生什么?為什么? $num =10;function multiply(){ $num =$num *10;} multiply();echo $num;

      四、reference 跟一個(gè)正規(guī)的變量有什么分別?如何 pass by reference?在什么情況下我們需要這樣做?

      五、哪些函式可以用來向正在執(zhí)行的腳本中插入函式庫?

      六、foo()與 @foo()有什么分別?

      七、你如何替 PHP 的應(yīng)用程式偵錯(cuò)?

      八、“===”是什么?試舉一個(gè)“==”是真但“===”是假的例子。

      九、你會如何定義一個(gè)沒有成員函式或特性的類別 myclass?

      十、include 和 include_once 有什么分別?require 又如何?

      十一、以下哪一個(gè)函式可以把瀏覽器轉(zhuǎn)向到另一個(gè)頁面? redir()

      header()

      location()

      redirect()

      十二、以下哪一個(gè)函式可以用來開啟檔案以便讀/寫? fget()

      file_open()

      fopen()

      open_file()

      十三、mysql_fetch_row()和 mysql_fetch_array()有什么分別?

      十四、下面的代碼用來做什么?請解釋。

      $date='08/26/2003';print ereg_replace(“([0-9]+)/([0-9]+)/([0-9]+)”,“[url=file://2///1///3%22,$date]2/1/3”,$date[/url]);

      十五、試寫出幾個(gè)輸出一段 HTML 代碼的方法。(一)

      成功把 John 新增到陣列 users。函式 array_add()無定義。

      成功把 John 新增到陣列 users。

      語法錯(cuò)誤。

      (二)根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會由 0 到 n-1 重新編號。主要是當(dāng)陣列索引鍵的值無關(guān)疼癢時(shí)用來把陣列排序。

      與 sort()一樣把陣列的元素按英文字母順序來排列,不同的是所有索引鍵都獲得保留,特別適合替聯(lián)想陣列排序。

      根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。

      (三)由于函式 multiply()沒有指定 $num 為全域變量(例如 global $num 或者 $_GLOBALS['num']),所以 $num 的值是 10。

      (四)Reference 傳送的是變量的地址而非它的值,所以在函式中改變一個(gè)變量的值時(shí),整個(gè)應(yīng)用都見到這個(gè)變量的新值。一個(gè)正規(guī)變量傳送給函式的是它的值,當(dāng)函式改變這個(gè)變量的值時(shí),只有這個(gè)函式才見到新值,應(yīng)用的其他部分仍然見到舊值。

      $myVariable = “its' value”;Myfunction(&$myVariable);// 以 reference 傳送參數(shù)以 reference 傳送參數(shù)給函式,可以使函式改變了的變量,即使在函式結(jié)束后仍然保留新值。

      (五)對這道題目不同的理解會有不同的答案,我的第一個(gè)想法是插入 PHP 函式庫不外乎 include()、include_once()、require()、require_once(),但細(xì)心再想,“函式庫”也應(yīng)該包括 com 物件和.net 函式庫,所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起“函式庫”的時(shí)候,別忘記這兩個(gè)函式。

      (六)foo()會執(zhí)行這個(gè)函式,任何解譯錯(cuò)誤、語法錯(cuò)誤、執(zhí)行錯(cuò)誤都會在頁面上顯示出來。@foo()在執(zhí)行這個(gè)函式時(shí),會隱藏所有上述的錯(cuò)誤訊息。

      很多應(yīng)用程式都使用 @mysql_connect()和 @mysql_query 來隱藏 mysql 的錯(cuò)誤訊息,我認(rèn)為這是很嚴(yán)重的失誤,因?yàn)殄e(cuò)誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。

      (七)我并不常這樣做,我曾經(jīng)試過很多不同的偵錯(cuò)工具,在 Linux 系統(tǒng)中設(shè)定這些工具一點(diǎn)也不容易。不過以下我會介紹一個(gè)近來頗受注目的偵錯(cuò)工具。

      PHPAPD,第一步是執(zhí)行以下的指令安裝: pear install apd安裝后在你的腳本的開頭位置加入以下的語句開始進(jìn)行偵錯(cuò): apd_set_pprof_trace();執(zhí)行完畢,打開以下檔案來查閱執(zhí)行日志: apd.dumpdir 你也可以使用 pprofp 來格式化日志。

      (八)“===”是給既可以送回布爾值“假”,也可以送回一個(gè)不是布爾值但卻可以賦與“假”值的函式,strpos()和 strrpos()便是其中兩個(gè)例子。

      問題的第二部份有點(diǎn)困難,想一個(gè)“==”是假,但是“===”是真的例子卻很容易,相反的例子卻很少。但我終于找到以下的例子:

      if(strpos(“abc”, “a”)== true){ // 這部分永不會被執(zhí)行,因?yàn)?“a” 的位置是 0,換算成布爾值“假”}if(strpos(“abc”, “a”)=== true){ // 這部份會被執(zhí)行,因?yàn)椤?==”保證函式 strpos()的送回值不會換算成布爾值.}(九)

      class myclass{}(十)$obj = new myclass();(十一)

      使用語句:$this->propertyName,例如:

      class myclass{ private $propertyName;public function __construct(){ $this->propertyName = “value”;}}(十二)

      三者都是用來在腳本中插入其他檔案,視乎 url_allow_fopen 是否核準(zhǔn),這個(gè)檔案可以從系統(tǒng)內(nèi)部或外部取得。但他們之間也有微細(xì)的分別:

      include():這個(gè)函式容許你在腳本中把同一個(gè)檔案插入多次,若果檔案不存在,它會發(fā)出系統(tǒng)警告并繼續(xù)執(zhí)行腳本。include_once():它跟 include()的功能相似,正如它的名字所示,在腳本的執(zhí)行期間,有關(guān)檔案只會被插入一次。require():跟 include()差不多,它也是用來在腳本中插入其他檔案,但若果檔案不存在,它會發(fā)出系統(tǒng)警告,這個(gè)警告會引致致命錯(cuò)誤令腳本中止執(zhí)行

      (十三)這不是一個(gè) PHP 函式,會引致執(zhí)行錯(cuò)誤。

      這個(gè)是正確答案,header()用來插入卷頭資料,可以用來使瀏覽器轉(zhuǎn)向到另一個(gè)頁面,例如:

      header(“Location: http:// 標(biāo)簽,為何要自行編寫正規(guī)表達(dá)式?好了,便當(dāng)作是面試的一道考題吧,我會這樣回答:

      $stringOfText = ”

      This is a test

      “;$expression = ”/<(.*?)>(.*?)/“;echo preg_replace($expression, ”[url=file://2/]2[/url]“, $stringOfText);// 有人說也可以使用 /(<[^>]*>)/ $expression = ”/(<[^>]*>)/“;echo preg_replace($expression, ”“, $stringOfText);(十八)

      這正是為何我老是告訴別人選擇適當(dāng)?shù)木幊陶Z言,若果你只用一種語言的話你怎么能回答這道問題?這道問題很簡單,Perl 所有陣列變量都是以 @ 開頭,例如 @myArray,PHP 則沿用 $ 作為所有變量的開頭,例如 $myArray。至于 Perl 表示散列表則用 %,例如 %myHash,PHP 則沒有分別,仍是使用 $,例如

      $myHash。

      (十九)最主要的倆各選擇是 session 和 cookie。使用 session 的方法是在每一頁的開始加上 session_start(),然后利用 $_SESSION 散列表來儲存 session 變量。至于 cookie 你只需記著一個(gè)原則:在輸出任何文字之前調(diào)用 set_cookie()函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 變量。

      還有一個(gè)不那么可靠的方法,就是利用訪客的 IP 地址,這個(gè)方法有特定的危險(xiǎn)性。

      (二十)這個(gè)可能是我最喜歡的函式庫,自從 PHP 4.3.0 版本后 GD 便內(nèi)建在 PHP 系統(tǒng)中。這個(gè)函式庫讓你處理和顯示各式格式的圖檔,它的另一個(gè)常見用途是制作所圖檔。GD 以外的另一個(gè)選擇是 ImageMagick,但這個(gè)函式庫并不內(nèi)建于 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上。

      (二十一)嗯,你可以使用 PHP 中任何一種輸出語句,包括 echo、print、printf,大部分人都使用如下例的 echo: echo ”My string $variable";你也可以使用這種方法:

      echo << HTML tags in here as well. The END;remarks must be on a line of its own, and can't contain any extra white space.END;(二十二)

      我們不要為一個(gè)簡單的問題引發(fā)一場舌戰(zhàn),正如我經(jīng)常說的:“為工作選擇適合的語言,不要把工作遷就語言?!蔽覀€(gè)人認(rèn)為 Perl 十分適合用作命令行工具,雖然它在網(wǎng)頁應(yīng)用上也有不錯(cuò)的表現(xiàn),但是它的真正實(shí)力在命令行上才能充分發(fā)揮。同樣地,PHP 雖然可以在控制臺的環(huán)境中使用,但是個(gè)人認(rèn)為它在網(wǎng)頁應(yīng)用上有更好的表現(xiàn),PHP 有大量專門為網(wǎng)頁應(yīng)用而設(shè)計(jì)的函式,Perl 則似乎以命令行為設(shè)計(jì)之本。

      個(gè)人來說兩種語言我都喜歡,在大學(xué)期間我經(jīng)常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家里我花不少時(shí)間操練 PHP、Perl、Ruby(現(xiàn)正學(xué)習(xí))和 Java,保持我的技能知識在最新狀態(tài)。很多人問我 C 和 C++ 怎么樣,它們是否仍有機(jī)會在我的應(yīng)用中占一席位,我的答案基本上是“否”,我近來的工作主要集中在網(wǎng)頁開發(fā),雖然 C 和 C++ 也可以用來寫網(wǎng)頁,但它們到底不是為這種工作而設(shè)計(jì)的,“為工作選擇適合的語言”,若果我需要編寫一個(gè)控制臺應(yīng)用,用來展示 bubble sort、quick sort 和 merge sort 的效能比較,我一定會使用 C / C++。若果我需要編寫一個(gè)相片簿系統(tǒng),我會使用 PHP 或者 C#(我認(rèn)為制作用戶介面方面.NET 語言比網(wǎng)頁更加)。

      第五篇:php試題

      1.mysql_connect()與@mysql_connect()的區(qū)別是(B)

      A

      @mysql_connect()不會忽略錯(cuò)誤,將錯(cuò)誤顯示到客戶端 B mysql_connect()不會忽略錯(cuò)誤,將錯(cuò)誤顯示到客戶端 C 沒有區(qū)別

      D 功能不同的兩個(gè)函數(shù)

      2.語句for($k=0;$k=1;$k++);和語句for($k=0;$k==1;$k++);執(zhí)行的次數(shù)分別是: A

      A

      無限和0

      B 0和無限

      C 都是無限

      D 都是0

      3.讀取post方法傳遞的表單元素值的方法是: B

      A

      $_post[“名稱”]

      B $_POST[“名稱”]

      C $post[“名稱”]

      D $POST[“名稱”]

      4.php運(yùn)算符中,優(yōu)先級從高到低分別是()B

      A

      關(guān)系運(yùn)算符,邏輯運(yùn)算符,算術(shù)運(yùn)算符

      B 算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符

      C 邏輯運(yùn)算符,算術(shù)運(yùn)算符,關(guān)系運(yùn)算符

      D 關(guān)系運(yùn)算符,算術(shù)運(yùn)算符,邏輯運(yùn)算符

      5.cookie的值存儲在()C

      A

      硬盤中

      B 程序中

      C 客戶端

      D 服務(wù)器端

      6.要查看一個(gè)變量的數(shù)據(jù)類型,可使用函數(shù)()B

      A

      type()

      B gettype()

      C GetType()

      D Type()

      7.字符串的比較,是按()進(jìn)行比較。B

      A

      拼音順序

      B ASCII碼值

      C 隨機(jī)

      D 先后順序

      8.復(fù)選框的type屬性值是()A

      A

      checkbox

      B radio

      C select

      D check

      9.SESSION會話的值存儲在()D

      A

      硬盤上

      B 網(wǎng)頁中

      C 客戶端

      D 服務(wù)器端

      10.如果想取得最近一條查詢的信息,應(yīng)該使用哪個(gè)函數(shù)()A

      A

      mysql_info

      B mysql_stat

      C mysql_insert_id()

      D mysql_free_result

      11.要查看一個(gè)結(jié)構(gòu)類型變量的值,可以使用函數(shù)()

      D

      A

      Print()

      B print()

      C Print_r()

      D print_r()

      12.在PHP中哪個(gè)變量數(shù)組總是包含所有總客戶端發(fā)出的cookies數(shù)據(jù)(A

      $_COOKIE

      B $_COOKIES

      C $_GETCOOKIE

      D $_GETCOOKIES

      13.下列哪個(gè)說法是錯(cuò)誤的()D

      A

      gettype()是查看數(shù)據(jù)類型的B 沒有被賦值的變量是0

      C unset()是被認(rèn)為NULL

      D 雙引號字符串最重要的一點(diǎn)是其中的變量名會被變量值替代

      14.HTML中,超鏈接用的是什么標(biāo)簽 A

      A

      〈a>

      B 〈table>

      C 〈b>

      D 〈head>

      15.strtolower()函數(shù)的功能是()

      A

      upper 轉(zhuǎn)為大寫

      A

      將給定的字符串全部轉(zhuǎn)換為小寫字母

      B 將給定的字符串全部轉(zhuǎn)換為大寫字母

      C 將給定的字符串首字母轉(zhuǎn)換為小寫字母

      D 將給定的字符串首字母轉(zhuǎn)換為大寫字母)A

      16.HTML中,表格單元格的“值”是存儲在()標(biāo)簽里

      B

      A

      〈body>

      B 〈td>

      C 〈tr>

      D 〈table>

      REFDVCD
      17.將一個(gè)值或變量轉(zhuǎn)換為字符類型的函數(shù)是()B

      A

      intval()

      B strval()

      C str

      D valint()

      18.php中字符串的連接運(yùn)算符是()

      D

      A

      B +

      C &

      D.19.php函數(shù)不支持的功能有:

      C

      A

      可變的參數(shù)個(gè)數(shù)

      B 通過引用傳遞參數(shù)

      C 通過指針傳遞參數(shù)

      D 實(shí)現(xiàn)遞歸函數(shù)

      20.文件框的type屬性值是()C

      A

      text

      B hidden

      C textarea

      D checkbox

      21.運(yùn)算符“^”的作用是()D

      A

      無效

      B 乘方

      C 位非

      D 位異或

      22.自定義函數(shù)中,返回函數(shù)值的關(guān)鍵字是()

      A

      returns

      B close

      A

      C return

      D back

      23.24.要檢查一個(gè)常量是否定義,可以使用函數(shù)()

      A

      A

      defined()

      B isdefin()

      C isdefined()

      D 無

      25.關(guān)于mysql_select_db的作用描述正確的是()

      A

      連接數(shù)據(jù)庫

      B 連接并選取數(shù)據(jù)庫

      C 連接并打開數(shù)據(jù)庫

      D 選取數(shù)據(jù)庫

      26.HTML中,title標(biāo)簽放在什么位置

      B

      A

      body標(biāo)簽里

      B head標(biāo)簽里

      C script標(biāo)簽里

      D table標(biāo)簽里

      27.使用()函數(shù)可以求得數(shù)組的大小

      A

      A

      count()

      B conut()

      C $_COUNT[“名稱”]

      D $_CONUT[“名稱”]

      28.從隊(duì)列數(shù)組隊(duì)頭刪除數(shù)據(jù)可以使用()函數(shù)。

      A

      array_push()

      B array_pop()

      C array_shift()

      D array_unshift()

      29.在html中嵌入javaScript,應(yīng)該使用的標(biāo)記是()

      A

      〈script language=“javascript”>

      B 〈head> 〈/head>

      C 〈body> 〈/body>

      D 〈!--....//..>

      30.以下代碼運(yùn)行結(jié)果()C $A=array(“Monday”,“Tuesday”,3=>“Wednesday”);

      D C A

      echo $A[2];

      A

      Monday B Tuesday C Wednesday D 沒有顯示

      31.新建一個(gè)數(shù)組的函數(shù)是()

      A

      A

      array

      B next

      C count

      D reset

      32.下列不正確的變量名是()

      B

      A

      $_test

      B $2abc

      C $Var

      D $printr

      33.讀取get方法傳遞的表單元素值的方法是: A

      A

      $_GET[“名稱”]

      B $get[“名稱”]

      C $GEG[“名稱”]

      D $_get[“名稱”]

      34.函數(shù)var_dump的意義是()C

      A

      定義數(shù)組

      B 遍歷數(shù)組

      C 輸出變量的相關(guān)信息

      D 遞歸數(shù)組

      35.strtoupper()函數(shù)的功能是: A

      A

      將給定字符串全部轉(zhuǎn)換為大寫字母。

      B 將給定字符串全部轉(zhuǎn)換為小寫字母。

      C 將給定字符串首字母轉(zhuǎn)換為大寫字母。

      D 將給定字符串首字母轉(zhuǎn)換為小寫字母。

      36.以下代碼的運(yùn)行結(jié)果是()A

      if($i=“")

      {echo ”a“;}

      else

      {echo ”b“;

      } ?>

      A

      輸出a

      B 輸出b

      C 條件不足,無法確定

      D 運(yùn)行出錯(cuò)

      37.在str_replace(1,2,3)函數(shù)中1 2 3 所代表的名稱是()

      B

      A

      ”取代字符串","被取代字符串","來源字符串"

      B "被取代字符串",“取代字符串","來源字符串"

      C "來源字符串",”取代字符串","被取代字符串"

      D "來源字符串","被取代字符串",“取代字符串"

      38.瀏覽網(wǎng)頁時(shí),看到的內(nèi)容是HTML的哪一部分? C

      A

      title

      B table

      C body

      D head

      39.運(yùn)算符”%“的作用是()C

      A

      無效

      B 取整

      C 取余

      D 除

      40.file()函數(shù)返回的數(shù)據(jù)類型是()

      A

      A

      數(shù)組

      B 字符串

      C 整型

      D 根據(jù)文件來定

      41.計(jì)算字符串長度的函數(shù)是()A

      A

      strlen()

      B len()

      C stringlen()

      D lens()

      42.a(chǎn)rray_push()的作用是()C

      A

      將數(shù)組的第一個(gè)元素彈出

      B 將數(shù)組的最后一個(gè)元素彈出

      C 將一個(gè)或多個(gè)元素壓入數(shù)組的末尾

      D 將一個(gè)或多個(gè)元素插入數(shù)組的開頭

      43.isset()的功能是()

      A

      A

      測試變量是否存在B 測試變量是否為空

      C 測試常量是否為空

      D 測試常量是否存在

      44.定義靜態(tài)變量的關(guān)鍵字是()

      A

      A

      static

      B statics

      C STATIC

      D STATICS

      45.以下屬于忽略鍵名數(shù)組排序的是()

      D

      A

      natsort

      B ksort

      C asort

      D sort

      46.empty()的功能是:

      A

      A

      測試變量是否為空

      B 測試變量是否存在C 測試常量是否為空

      D 測試常量是否存在

      47.瀏覽網(wǎng)頁時(shí),看到的內(nèi)容是HTML的哪一部分?

      C

      A

      title

      B table

      C body

      D head

      48.自定義用戶常量,可以使用()函數(shù).B

      A

      Define()

      B define()

      C Defin()

      D defin()

      49.執(zhí)行下列代碼后的結(jié)果是()$x=15;echo $x++;$y=20;echo ++$y;

      A

      15,20

      B 15,21

      C 16,20

      D 16,21

      50.申明全局變量的關(guān)鍵字是()B

      A

      globals

      B global

      C GLOBAL

      D 無

      多項(xiàng)選擇題:(共12題,每題5分)

      B.cd C.opendir D.rmdir 1.在返回?cái)?shù)組中的所有值,可以使用array_value()函數(shù) T

      B 2.運(yùn)算符“++”可以對常量和變量進(jìn)行累加1 F 3.php語言中的數(shù)值型字符串可以和數(shù)字變量進(jìn)行混合運(yùn)算.T 4.php中,雙引號字符串支持變量解析以及轉(zhuǎn)義字符.T 5.php語言中的數(shù)值型字符串不可以和數(shù)字變量進(jìn)行混合運(yùn)算.F 6.PHP程序的擴(kuò)展名必須是.php F 7.php中,字符串是用引號引起來的字符,單引號和雙引號沒有區(qū)別,都是一樣的,隨便用哪一個(gè)都是一樣的.F 8.if條件控制語句中,if后面的{ }可有可無,意義一樣。F 9.一個(gè)MySQL服務(wù)器,可以擁有多個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫可擁有多個(gè)表.T 10.MS-server200與mysql一樣,同屬微軟公司的產(chǎn)品,用于軟件開發(fā)的數(shù)據(jù)庫支持 F 11.運(yùn)算符“--”可以對常量和變量進(jìn)行自身減1 F 12.php中,單引號字符串不支持變量解析以及轉(zhuǎn)義字符.T 13.if條件控制語句中,if后面的{ }不能省略。F 14.< f orm id=”form1“ name=”form1“ method=”“ action=”“ >,默認(rèn)的method使用get進(jìn)行值傳遞。F 15.〈 form id=”form1“ name=”form1“ method=”“ action=”">,默認(rèn)的method使用post進(jìn)行值傳遞。F 16.常量的作用域是全局的,不存在全局與局部的概念.T 17.if條件控制語句中,if后面必須加括號 T 18.使用get和post傳遞表單值沒有什么區(qū)別,可以隨便選擇一種使用.F 19.php中,在任何時(shí)候,雙引號和單引號都是不一樣的.F 20.運(yùn)算符“++”只能對常量進(jìn)行自身加1 F 21.if條件控制語句中,if后面的{ }可有可無。F 22.PHP跟ASP一樣,只能應(yīng)用IIS架設(shè)服務(wù)器 F 23.MySQL可以建立個(gè)用戶,但每個(gè)用戶的權(quán)限一樣,僅是名稱不一樣而已.F 24.php中,()與{ }具有不一樣的功能。T 25.php中可以使用method=post的方式進(jìn)行文件上傳 F 26.php中,==與===是同一個(gè)運(yùn)算符。F 27.MySQL數(shù)據(jù)庫可以建立多個(gè)用戶,且各個(gè)用戶的權(quán)限可以分別設(shè)置.T 30.a(chǎn)rray_search()與in_array()函數(shù)均可用來查詢數(shù)組中元素的值。F 31.PHP是微軟公司開發(fā)的,應(yīng)用于設(shè)計(jì)網(wǎng)頁的語言 F 32.php中,雙引號和單引號在某些時(shí)候具有不同的意義,在某些時(shí)候具有相同的意義.T 33.a(chǎn)rray_unshift()函數(shù)在數(shù)組的末尾插入一個(gè)或多個(gè)元素,返回成功插入后的總元素個(gè)數(shù)。F 34.current()和pos()均可返回?cái)?shù)組中的當(dāng)前單元。F 35.在返回?cái)?shù)組中的所有值,可以使用array_keys()函數(shù) F 36.php中,函數(shù)默認(rèn)按值傳遞參數(shù)。T 37.php中,雙引號字符串不支持變量解析以及轉(zhuǎn)義字符.F 38.session與cookie只是名稱不同,實(shí)質(zhì)上沒有什么區(qū)別,均可用于實(shí)現(xiàn)用戶登錄等功能.F 39.運(yùn)算符“++”只能對變量的值自身累加1 F 40.安裝Windows XP后,系統(tǒng)默認(rèn)狀態(tài)沒有安裝PHP環(huán)境;而安裝Windows 2003后,系統(tǒng)自動安裝了PHP環(huán)境,不用我們再安裝.F

      下載php版本比較[5篇范文]word格式文檔
      下載php版本比較[5篇范文].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        淺談PHP優(yōu)缺點(diǎn)

        千鋒教育004km.cn 精品課程 全程面授 淺談PHP優(yōu)缺點(diǎn) 眾所周知,PHP語言作為服務(wù)器端開發(fā)的腳本語言,在網(wǎng)站開發(fā)方面非常有名。自從1995年RasmusLerdorf創(chuàng)建之后,根據(jù)......

        PHP實(shí)驗(yàn)報(bào)告

        PHP實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)內(nèi)容:php操作數(shù)據(jù)庫 實(shí)驗(yàn)步驟:首先在Mysql,text數(shù)據(jù)庫中建立一個(gè)t_stu的表。 2.新建conn.php文件,鏈接Mysql數(shù)據(jù)庫,并方便接下來的包含和引用。 3.新建index.php......

        PHP程序員

        **的個(gè)人簡歷個(gè)人資料 姓名: **電子郵件: ******@qq.com 名族: 漢出生日期: 1991/1/3 學(xué)歷: 本科居住地址: 深圳福田 性別: 男手機(jī)號碼: 186***77394求職意向 到崗時(shí)間:即時(shí) 期望職位......

        PHP復(fù)習(xí)資料

        PHP復(fù)習(xí)資料填空題 1.在PHP中,加入注釋的方法很靈活,單行注釋有 // 和 # 兩mysql可以方便地對數(shù)據(jù)庫進(jìn)行各種操作。 13. 在continue和break語句中, 名詞解釋 1. 構(gòu)造函數(shù): 在類中......

        php總結(jié)報(bào)告

        第一章 初識PHP by hero團(tuán)隊(duì) 1.計(jì)算思維的本質(zhì):抽象、自動化。可以概括為:合理抽象、高效算法。主要過程包括:問題抽象,模型建立,算法設(shè)計(jì),實(shí)現(xiàn)自動化。 2.PHP概念:web程序設(shè)計(jì)語......

        php學(xué)習(xí)心得

        php學(xué)習(xí)心得(適合php初學(xué)者) 來源: 發(fā)布時(shí)間:2009-09-18 發(fā)布人: 瀏覽:30人次字體:[大 中 小] 【1】頁面之間無法傳遞變量 get,post,session在最新的php版本中自動全局變量是關(guān)閉......

        PHP學(xué)習(xí)推薦

        PHP學(xué)習(xí)推薦PHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,現(xiàn)在越來越多的人加入......

        PHP學(xué)習(xí)心得

        PHP學(xué)習(xí)心得 先說學(xué)習(xí)PHP有什么用處吧,畢竟學(xué)習(xí)前應(yīng)該是對所要學(xué)習(xí)的東西有所了解,才會更有興趣去學(xué)習(xí)它。 學(xué)習(xí)PHP主要是用來開發(fā)web站點(diǎn),也就是網(wǎng)站,它和asp、java等語言類似,......