php-面試第一篇

一、html 部分 1,請(qǐng)闡述你對(duì)WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)標(biāo)簽閉合、標(biāo)簽小寫(xiě)、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外 鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁(yè)面速度更快、內(nèi)容能被更多的用戶(hù)所訪問(wèn)、內(nèi)容能被更廣泛的設(shè)備所訪問(wèn)、更少的代碼和組件,容易維 護(hù)、改版方便,不需要變動(dòng)頁(yè)面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性; 2,請(qǐng)描述一個(gè)網(wǎng)頁(yè)從開(kāi)始請(qǐng)求到最終顯示的完整過(guò)程?一般可分為7個(gè)步驟: 1).在瀏覽器中輸入網(wǎng)址; 2).發(fā)送至DNS服務(wù)器并獲得域名對(duì)應(yīng)的WEB服務(wù)器的IP地址; 3).與WEB服務(wù)器建立TCP連接; 4).瀏覽器向WEB服務(wù)器的IP地址發(fā)送相應(yīng)的HTTP請(qǐng)求; 5).WEB服務(wù)器響應(yīng)請(qǐng)求并返回指定的URL的數(shù)據(jù),或錯(cuò)誤信息,如果設(shè)定重定向,則重定向到新的URL地址。 6).瀏覽器下載數(shù)據(jù)后解析HTML源文件,解析的過(guò)程中實(shí)現(xiàn)對(duì)頁(yè)面的排版,解析完成后在瀏覽器中顯示基礎(chǔ)頁(yè)面。 7).分析頁(yè)面中的超鏈接并顯示在當(dāng)前頁(yè)面,重復(fù)以上過(guò)程直至無(wú)超鏈接需要發(fā)送,完成全部顯示。 3,xhtml和html有什么區(qū)別HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同:XHTML 元素必須被正確地嵌套。XHTML 元素必須被關(guān)閉。標(biāo)簽名必須用小寫(xiě)字母。XHTML 文檔必須擁有根元素。 4,DOCTYPE聲明的作用是什么?嚴(yán)格模式與混雜模式如何區(qū)分?HTML語(yǔ)言已經(jīng)存在太久了,目前必然會(huì)有一些不同版本的文檔存在。為了能夠讓瀏覽器清楚你的文檔的版本、類(lèi)型和風(fēng)格,需要在文檔的起始用DOCTYPE聲明指定當(dāng)前文檔的版本和風(fēng)格。如果在網(wǎng)頁(yè)中提供了版本信息,則可以有利于驗(yàn)證頁(yè)面中的代碼是否符合當(dāng)前的版本和風(fēng)格。<!DOCTYPE>聲明位于文檔中的最前面,處于標(biāo)簽之前,告知瀏覽器的解析器,用什么文檔類(lèi)型規(guī)范來(lái)解析這個(gè)文檔。在嚴(yán)格模式(標(biāo)準(zhǔn)模式)中,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁(yè)面;在混雜模式中,頁(yè)面以向后兼容的方式顯示,以防止老站點(diǎn)無(wú)法工作。如果HTML文檔包含形式完整的DOCTYPE,那么它一般以標(biāo)準(zhǔn)模式呈現(xiàn)。對(duì)于HTML4.01文檔,包含嚴(yán)格DTD的DOCTYPE常常導(dǎo)致頁(yè)面以標(biāo)準(zhǔn)模式呈現(xiàn)。DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。 5,行內(nèi)元素有哪些?塊級(jí)元素有哪些?行內(nèi)元素:a、b、span、img、input、strong、select、label、em、button、textarea塊級(jí)元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote空元素:即系沒(méi)有內(nèi)容的HTML元素,例如:br、meta、hr、link、input、img    6,img標(biāo)簽上title與alt屬性的區(qū)別是什么?Alt 當(dāng)圖片不顯示是 用文字代表。Title 為該屬性提供信息 7,前端頁(yè)面有哪三層構(gòu)成,分別是什么?作用是什么?結(jié)構(gòu)層 Html 表示層 CSS 行為層 js 8,簡(jiǎn)要描述常見(jiàn)的瀏覽器內(nèi)核。IE,火狐Firefox,谷歌Chrome,opear,Safari瀏覽器內(nèi)核賦值對(duì)網(wǎng)頁(yè)語(yǔ)法的解釋并顯示網(wǎng)頁(yè),它決定了瀏覽器如何顯示網(wǎng)頁(yè)的內(nèi)容以及頁(yè)面的格式信息。常見(jiàn)的瀏覽器內(nèi)核:IE瀏覽器內(nèi)核:TridentMozilla瀏覽器內(nèi)核,如Firefox:GeckoSafari瀏覽器內(nèi)核,也是Chrome瀏覽器的內(nèi)核:WebkitChrome瀏覽器和,Opera瀏覽器內(nèi)核:Blink 9,簡(jiǎn)述一下src與href的區(qū)別href 是指向網(wǎng)絡(luò)資源所在位置,建立和當(dāng)前元素(錨點(diǎn))或當(dāng)前文檔(鏈接)之間的鏈接,用于超鏈接。src是指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置; 在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到文檔內(nèi),例如js腳本,img圖片和frame等元素。 當(dāng)瀏覽器解析到該元素時(shí),會(huì)暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢, 圖片和框架等元素也如此,類(lèi)似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)。這也是為什么將js腳本放在底部而不是頭部。 10,錨點(diǎn)的作用是什么?如何創(chuàng)建錨點(diǎn)?錨點(diǎn)是文檔中某行的一個(gè)記號(hào),類(lèi)似于書(shū)簽,用于鏈接到文檔中的某個(gè)位置。當(dāng)定義錨點(diǎn)后,我們可以創(chuàng)建直接跳至該錨點(diǎn)(比如頁(yè)面中某個(gè)小節(jié))的鏈接,這樣使用者就無(wú)需不停地滾動(dòng)頁(yè)面來(lái)尋找他們需要的信息了。在使用元素創(chuàng)建錨點(diǎn)時(shí),需要使用name屬性為其命名,代碼如下所示:錨點(diǎn)一然后就可以創(chuàng)建鏈接,直接跳轉(zhuǎn)到錨點(diǎn),代碼如下所示:回到錨點(diǎn)一二、html5 部分 1,HTML5為什么只需要寫(xiě)?HTML5不基于SGML,因此不需要對(duì)DTD進(jìn)行引用,但是需要DOCTYPE來(lái)規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行);HTML4.01基于SGML,所以需要對(duì)DTD進(jìn)行引用,才能讓瀏覽器知道該文檔所使用的文檔類(lèi)型。 2,新的 HTML5 文檔類(lèi)型和字符集分別是什么?HTML5 文檔類(lèi)型很簡(jiǎn)單:HTML5 使用 UTF-8 編碼示例: 3, HTML5 的Canvas 元素有什么用?Canvas 元素用于在網(wǎng)頁(yè)上繪制圖形,該元素標(biāo)簽強(qiáng)大之處在于可以直接在 HTML 上進(jìn)行圖形操作,

4,HTML5 有哪些新增的表單元素?HTML5 新增了很多表單元素讓開(kāi)發(fā)者構(gòu)建更優(yōu)秀的 Web 應(yīng)用程序。? ● datalist? ● datetime? ● output? ● keygen? ● date? ● month? ● week? ● time? ● color? ● number? ● range? ● email? ● url? 5,HTML5 廢棄了哪些 HTML4 標(biāo)簽?HTML5 廢棄了一些過(guò)時(shí)的,不合理的 HTML 標(biāo)簽:? ● frame? ● frameset? ● noframe? ● applet? ● big? ● center? ● basefront? 6,HTML5 標(biāo)準(zhǔn)提供了哪些新的 API?HTML5 提供的應(yīng)用程序 API 主要有:? ● Media API? ● Text Track API? ● Application Cache API? ● User Interaction? ● Data Transfer API? ● Command API? ● Constraint Validation API? ● History API? 7,HTML5 應(yīng)用程序緩存和瀏覽器緩存有什么區(qū)別?應(yīng)用程序緩存是 HTML5 的重要特性之一,提供了離線使用的功能,讓?xiě)?yīng)用程序可以獲取本地的網(wǎng)站內(nèi)容,例如 HTML、CSS、圖片以及 JavaScript。這個(gè)特性可以提高網(wǎng)站性能,它的實(shí)現(xiàn)借助于 manifest 文件,如下:…..與傳統(tǒng)瀏覽器緩存相比,它不強(qiáng)制用戶(hù)訪問(wèn)的網(wǎng)站內(nèi)容被緩存。三、css 部分? 1,什么是盒子模型?在網(wǎng)頁(yè)中,一個(gè)元素占有空間的大小由幾個(gè)部分構(gòu)成,其中包括元素的內(nèi)容(content),元素的內(nèi)邊距(padding),元素的邊框(border),元素的外邊距(margin)四個(gè)部分。這四個(gè)部分占有的空間中,有的部分可以顯示相應(yīng)的內(nèi)容,而有的部分只用來(lái)分隔相鄰的區(qū)域或區(qū)域。4個(gè)部分一起構(gòu)成了css中元素的盒模型。? 2,什么是CSS Hack?一般來(lái)說(shuō)是針對(duì)不同的瀏覽器寫(xiě)不同的CSS,就是 CSS Hack。IE瀏覽器Hack一般又分為三種,條件Hack、屬性級(jí)Hack、選擇符Hack(詳細(xì)參考CSS文檔:css文檔)。例如:// 1、條件Hack// 2、屬性Hack.test{color:#090\9; /* For IE8+ */*color:#f00;? /* For IE7 and earlier */_color:#ff0;? /* For IE6 and earlier */}// 3、選擇符Hack* html .test{color:#090;}? ? ? /* For IE6 and earlier */* + html .test{color:#ff0;}? ? /* For IE7 */? 3,清除浮動(dòng)的幾種方式,各自的優(yōu)缺點(diǎn)1.使用空標(biāo)簽清除浮動(dòng) clear:both(理論上能清楚任何標(biāo)簽,,,增加無(wú)意義的標(biāo)簽)2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無(wú)意代碼的弊端,,使用zoom:1用于兼容IE)3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)? 4,CSS引入的方式有哪些? link和@import的區(qū)別是?內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入?yún)^(qū)別 :同時(shí)加載前者無(wú)兼容性,后者CSS2.1以下瀏覽器不支持Link 支持使用javascript改變樣式,后者不可? 5,px和em有什么區(qū)別?px和em都是長(zhǎng)度單位,區(qū)別是,px的值是固定的,指定是多少就是多少,計(jì)算比較容易。em得值不是固定的,并且em會(huì)繼承父級(jí)元素的字體大小。瀏覽器的默認(rèn)字體高都是16px。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em四、javascript 部分? 1,解釋jsonp的原理,以及為什么不是真正的ajaxjsonp是動(dòng)態(tài)創(chuàng)建script標(biāo)簽,回調(diào)函數(shù)。而Ajax是頁(yè)面無(wú)刷新請(qǐng)求數(shù)據(jù)操作。利用在頁(yè)面中創(chuàng)建節(jié)點(diǎn)的方法向不同域提交HTTP請(qǐng)求的方法稱(chēng)為JSONP,這項(xiàng)技術(shù)可以解決跨域提交Ajax請(qǐng)求的問(wèn)題。JSONP的工作原理如下所述: 假設(shè)在http://example1.com/index.php這個(gè)頁(yè)面中向http://example2.com/getinfo.php提交GET請(qǐng)求,我們可以將下面的JavaScript代碼放在http://example1.com/index.php這個(gè)頁(yè)面中來(lái)實(shí)現(xiàn): var eleScript= document.createElement("script"); eleScript.type = "text/javascript"; eleScript.src = "http://example2.com/getinfo.php"; document.getElementsByTagName("HEAD")[0].appendChild(eleScript);當(dāng)GET請(qǐng)求從http://example2.com/getinfo.php返回時(shí),可以返回一段JavaScript代碼,這段代碼會(huì)自動(dòng)執(zhí)行,可以用來(lái)負(fù)責(zé)調(diào)用http://example1.com/index.php頁(yè)面中的一個(gè)callback函數(shù)。 JSONP的最基本的原理是:動(dòng)態(tài)添加一個(gè)標(biāo)簽,而script標(biāo)簽的src屬性是沒(méi)有跨域的限制的。這樣說(shuō)來(lái),這種跨域方式其實(shí)與ajax XmlHttpRequest協(xié)議無(wú)關(guān)了。? 2,解釋javascript的本地對(duì)象,內(nèi)置對(duì)象和宿主對(duì)象本地對(duì)象為array obj regexp等可以new實(shí)例化內(nèi)置對(duì)象為gload Math 等不可以實(shí)例化的宿主為瀏覽器自帶的document,window 等? 3, 列舉流行的 Ajax 框架?說(shuō)明 Ajax 實(shí)現(xiàn)原理是什么及 json 在 Ajax 中起什么作用?流行的 Ajax 框架有 jQuery,Prototype,Dojo,MooTools。Ajax 的工作原理是一個(gè)頁(yè)面的指定位置可以加載另一個(gè)頁(yè)面所有的輸出內(nèi)容,這樣就實(shí)現(xiàn)了一個(gè)靜態(tài)頁(yè)面也能獲取到數(shù)據(jù)庫(kù)中的返回?cái)?shù)據(jù)信息了。所以 Ajax 技術(shù)實(shí)現(xiàn)了一個(gè)靜態(tài)網(wǎng)頁(yè)在不刷新整個(gè)頁(yè)面的情況下與服務(wù)器通信,減少了用戶(hù)等待時(shí)間,同時(shí)也從而降低了網(wǎng)絡(luò)流量,增強(qiáng)了客戶(hù)體驗(yàn)的友好程度。在使用 Ajax 時(shí),涉及到數(shù)據(jù)傳輸,即將數(shù)據(jù)從服務(wù)器返回到客戶(hù)端,服務(wù)器端和客戶(hù)端分別使用不同的腳步語(yǔ)言來(lái)處理數(shù)據(jù),這就需要一種通用的數(shù)據(jù)格式,XML 和 json 就是最常用的兩種,而 json 比 XML 更簡(jiǎn)單。? 4,請(qǐng)寫(xiě)出ajax的優(yōu)點(diǎn)和缺點(diǎn)優(yōu)點(diǎn):無(wú)數(shù)新更新數(shù)據(jù)、異步與服務(wù)器通信、前端和后端負(fù)載平衡、基于標(biāo)準(zhǔn)被廣泛支持、界面與應(yīng)用分離缺點(diǎn):安全問(wèn)題、對(duì)搜索引擎支持較弱、破壞程序的異常處理機(jī)制、違背URL和資源定位的初衷、? ? ? AJAX不能很好支持移動(dòng)設(shè)備、客戶(hù)端過(guò)肥,太多客戶(hù)端代碼造成開(kāi)發(fā)上的成本? 5,事件委托是什么?利用冒泡的原理,把事件加到父級(jí)上,觸發(fā)執(zhí)行效果。通俗的講,事件就是onclick,onmouseover,onmouseout,等就是事件,委托呢,就是讓別人來(lái)做,這個(gè)事件本來(lái)是加在某些元素上的,然而你卻加到別人身上來(lái)做,完成這個(gè)事件。五、jquery 部分? 1、Jquery的美元符號(hào)$有什么作用?美元符號(hào)$只是”jQuery”的別名,它是jQuery的選擇器,如下代碼:? $(document).ready(function(){? ? ? });當(dāng)然你也可以用jQuery來(lái)代替$,如下代碼:? jQuery(document).ready(function(){? ? ? });jQuery中就是通過(guò)這個(gè)美元符號(hào)來(lái)實(shí)現(xiàn)各種靈活的DOM元素選擇的,例如$(“#main”)即選中id為main的元素。? 2、body中的onload()函數(shù)和jQuery中的document.ready()有什么區(qū)別?onload()和document.ready()的區(qū)別有以下兩點(diǎn):1)、我們可以在頁(yè)面中使用多個(gè)document.ready(),但只能使用一次onload()。2)、document.ready()函數(shù)在頁(yè)面DOM元素加載完以后就會(huì)被調(diào)用,而onload()函數(shù)則要在所有的關(guān)聯(lián)資源(包括圖像、音頻)加載完畢后才會(huì)調(diào)用。? 3、Jquery中有哪幾種類(lèi)型的選擇器?從我自己的角度來(lái)講,可以有3種類(lèi)型的選擇器,如下:1)、基本選擇器:直接根據(jù)id、css類(lèi)名、元素名返回匹配的dom元素。2)、層次選擇器:也叫做路徑選擇器,可以根據(jù)路徑層次來(lái)選擇相應(yīng)的DOM元素。3)、過(guò)濾選擇器:在前面的基礎(chǔ)上過(guò)濾相關(guān)條件,得到匹配的dom元素。4)、請(qǐng)使用jQuery將頁(yè)面上的所有元素邊框設(shè)置為2px寬的虛線?代碼如下:? ? ? ? ? ? ? ? $("*").css("border", "2px dotted red");4、如何使用jQuery實(shí)現(xiàn)點(diǎn)擊按鈕彈出一個(gè)對(duì)話(huà)框?代碼如下:html:jQuery:$(document).ready(function ()

{

$(‘#Button1′).click(function () { alert($(‘#inputField’).attr(“value”));

} );

5、$(document).ready() 是個(gè)什么函數(shù)?為什么要用它?

ready() 函數(shù)用于在文檔進(jìn)入ready狀態(tài)時(shí)執(zhí)行代碼。

當(dāng)DOM 完全加載(例如HTML被完全解析DOM樹(shù)構(gòu)建完成時(shí)),jQuery允許你執(zhí)行代碼。

使用$(document).ready()的最大好處在于它適用于所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。

6、你如何使用jQuery設(shè)置一個(gè)屬性值?

$('#obj').attr(name, value)

7、你如何利用jQuery來(lái)向一個(gè)元素中添加和移除CSS類(lèi)?

通過(guò)利用 addClass() 和 removeClass() 這兩個(gè) jQuery 方法。

動(dòng)態(tài)的改變?cè)氐腸lass屬性可以很簡(jiǎn)單例如. 使用類(lèi)“.active"來(lái)標(biāo)記它們的未激活和激活狀態(tài),等等.

8、jQuery.get() 和 jQuery.ajax() 方法之間的區(qū)別是什么?

ajax() 方法更強(qiáng)大,更具可配置性, 讓你可以指定等待多久,以及如何處理錯(cuò)誤。

get() 方法是一個(gè)只獲取一些數(shù)據(jù)的專(zhuān)門(mén)化方法。

9、你是如何將一個(gè) HTML 元素添加到 DOM 樹(shù)中的?

你可以用 jQuery 方法 appendTo() 將一個(gè) HTML 元素添加到 DOM 樹(shù)中。

這是 jQuery 提供的眾多操控 DOM 的方法中的一個(gè)。

你可以通過(guò) appendTo() 方法在指定的 DOM 元素末尾添加一個(gè)現(xiàn)存的元素或者一個(gè)新的 HTML 元素。

10、jQuery 里的 each() 是什么函數(shù)?你是如何使用它的?

each() 函數(shù)就像是 Java 里的一個(gè) Iterator,它允許你遍歷一個(gè)元素集合。

你可以傳一個(gè)函數(shù)給 each() 方法,被調(diào)用的 jQuery 對(duì)象會(huì)在其每個(gè)元素上執(zhí)行傳入的函數(shù)。

有時(shí)這個(gè)問(wèn)題會(huì)緊接著上面一個(gè)問(wèn)題,舉個(gè)例子,如何在 alert 框里顯示所有選中項(xiàng)。

我們可以用上面的選擇器代碼找出所有選中項(xiàng),然后我們?cè)?alert 框中用 each() 方法來(lái)一個(gè)個(gè)打印它們,代碼如下:

$('[name=NameOfSelectedTag] :selected').each(function(selected) {

alert($(selected).text());

});

六、PHP 部分

1、雙引號(hào)和單引號(hào)的區(qū)別。

● 雙引號(hào)解釋變量,單引號(hào)不解釋變量

● 雙引號(hào)里插入單引號(hào),其中單引號(hào)里如果有變量的話(huà),變量解釋

● 雙引號(hào)的變量名后面必須要有一個(gè)非數(shù)字、字母、下劃線的特殊字符,或者用講變量括起來(lái),否則會(huì)將變量名后面的部分當(dāng)做一個(gè)整體,引起語(yǔ)法錯(cuò)誤

● 雙引號(hào)解釋轉(zhuǎn)義字符,單引號(hào)不解釋轉(zhuǎn)義字符,但是解釋'\和\\

● 能使單引號(hào)字符盡量使用單引號(hào),單引號(hào)的效率比雙引號(hào)要高(因?yàn)殡p引號(hào)要先遍歷一遍,判斷里面有沒(méi)有變量,然后再進(jìn)行操作,而單引號(hào)則不需要判斷)

2、常用的超全局變量(8個(gè))。

● $_GET ----->get傳送方式

● $_POST ----->post傳送方式

● $_REQUEST ----->可以接收到get和post兩種方式的值

--------------------------------------------------------------------------------

● $GLOBALS ----->所有的變量都放在里面

● $_FILE ----->上傳文件使用

● $_SERVER ----->系統(tǒng)環(huán)境變量

--------------------------------------------------------------------------------

● $_SESSION ----->會(huì)話(huà)控制的時(shí)候會(huì)用到

● $_COOKIE ----->會(huì)話(huà)控制的時(shí)候會(huì)用到

3、HTTP中POST、GET、PUT、DELETE方式的區(qū)別。

HTTP定義了與服務(wù)器交互的不同的方法,最基本的是POST、GET、PUT、DELETE,

與其比不可少的URL的全稱(chēng)是資源描述符,我們可以這樣理解:url描述了一個(gè)網(wǎng)絡(luò)上資源,

而post、get、put、delete就是對(duì)這個(gè)資源進(jìn)行增、刪、改、查的操作!

4、PHP介紹。

Hypertext Preprocessor----超文本預(yù)處理器

Personal Home Page 原始名稱(chēng)

目標(biāo)用途: 允許web開(kāi)發(fā)人員快速編寫(xiě)動(dòng)態(tài)生成的web頁(yè)面,與其他頁(yè)面相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,效率比完全生成HTML編輯的CGI高很多

HTML: Hypertext Markup Language

創(chuàng)始人: 拉姆斯勒·勒多夫Rasmus Lerdorf,1968年生,加拿大滑鐵盧大學(xué)

勒多夫最開(kāi)始是為了維護(hù)個(gè)人網(wǎng)頁(yè),用prel語(yǔ)言寫(xiě)了維護(hù)程序,之后又用c進(jìn)行了重寫(xiě),最終衍生出php/fi

時(shí)間軸:

● 1995.06.08將PHP/FI公開(kāi)釋出

● 1995 php2.0,加入了對(duì)MySQL的支持

● 1997 php3.0

● 2000 php4.0

● 2008 php5.0

● 由于php6.0沒(méi)有完全解決Unicode編碼,所以基本沒(méi)有生產(chǎn)線上的應(yīng)用,基本只是一款概念產(chǎn)品,很多功能已經(jīng)在php5.3.3和php5.3.4上實(shí)現(xiàn)

常見(jiàn)的IDE(Intergrated Development Environment): 集成開(kāi)發(fā)環(huán)境

● Coda(mac)

● PHPStrom

● Adobe Dreamweaver

● NetBeans

常見(jiàn)文本編輯器,具備代碼高亮:

● NodePad++

● SublimeText

PHP優(yōu)勢(shì)

PHP特性:

● php獨(dú)特混合了C,Java,Prel以及PHP自創(chuàng)的語(yǔ)法

● 可以比CGI或者Prel更快速去執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),與其他變成語(yǔ)言相比,PHP是講程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML編輯的CGI要高很多,所有的CGI都能實(shí)現(xiàn)

● 支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)

● PHP可以使用C,C++進(jìn)行程序的擴(kuò)展

PHP優(yōu)勢(shì):

● 開(kāi)放源代碼

● 免費(fèi)性

● 快捷性

● 跨平臺(tái)強(qiáng)

● 效率高

● 圖形處理

● 面向?qū)ο?/p>

● 專(zhuān)業(yè)專(zhuān)注

PHP技術(shù)應(yīng)用:

● 靜態(tài)頁(yè)面生成

● 數(shù)據(jù)庫(kù)緩存

● 過(guò)程緩存

● div+css w3c標(biāo)準(zhǔn)

● 大負(fù)荷

● 分布式

● flex

● 支持MVC

● Smarty模塊引擎

PHP認(rèn)證級(jí)別

● 初級(jí) IFE:Index Front Engineer 前端工程師

● 中級(jí) IPE:Index PHP Engineer PHP工程師

● 高級(jí) IAE:Index Architecture Engineer 架構(gòu)工程師

5、echo、print_r、print、var_dump之間的區(qū)別。

* echo、print是php語(yǔ)句,var_dump和print_r是函數(shù)

* echo 輸出一個(gè)或多個(gè)字符串,中間以逗號(hào)隔開(kāi),沒(méi)有返回值是語(yǔ)言結(jié)構(gòu)而不是真正的函數(shù),因此不能作為表達(dá)式的一部分使用

* print也是php的一個(gè)關(guān)鍵字,有返回值 只能打印出簡(jiǎn)單類(lèi)型變量的值(如int,string),如果字符串顯示成功則返回true,否則返回false

* print_r 可以打印出復(fù)雜類(lèi)型變量的值(如數(shù)組、對(duì)象)以列表的形式顯示,并以array、object開(kāi)頭,但print_r輸出布爾值和NULL的結(jié)果沒(méi)有意義,因?yàn)槎际谴蛴?\n",因此var_dump()函數(shù)更適合調(diào)試

* var_dump() 判斷一個(gè)變量的類(lèi)型和長(zhǎng)度,并輸出變量的數(shù)值

6、HTTP狀態(tài)碼。

常見(jiàn)的HTTP狀態(tài)碼:

● 200 - 請(qǐng)求成功

● 301 - 資源(網(wǎng)頁(yè)等)被永久轉(zhuǎn)義到其他URL

● 404 - 請(qǐng)求的資源(網(wǎng)頁(yè)等)不存在

● 505 - 內(nèi)部服務(wù)器錯(cuò)誤

HTTP狀態(tài)碼分類(lèi):

● 1** - 信息,服務(wù)器收到的請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作

● 2** - 成功,操作被成功接收并處理

● 3** - 重定向,需要進(jìn)一步的操作以完成請(qǐng)求

● 4** - 客戶(hù)端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或者無(wú)法完成請(qǐng)求

● 5** 服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程 中發(fā)生了錯(cuò)誤

7、什么是魔術(shù)引號(hào)。

魔術(shù)引號(hào)是一個(gè)將自動(dòng)將進(jìn)入PHP腳本的數(shù)據(jù)進(jìn)行轉(zhuǎn)義的過(guò)程,最好在編碼時(shí)不要轉(zhuǎn)義而在運(yùn)行時(shí)根據(jù)需要而轉(zhuǎn)義

在一個(gè)項(xiàng)目中,魔術(shù)引號(hào)若是打開(kāi)的話(huà),所有的反斜線(\)、單引號(hào)(')、雙引號(hào)(")、NULL 字符都會(huì)被自動(dòng)加上一個(gè)反斜線進(jìn)行轉(zhuǎn)義,

這和 addslashes() 作用完全相同。

與之相關(guān)的函數(shù):set_magic_quotes_runtime、magic_quotes_gpc、addslashes、stripslashes。

8、如何獲取客戶(hù)端的ip(要求取得一個(gè)int)和服務(wù)器ip的代碼。

客戶(hù)端:$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR') ip2long進(jìn)行轉(zhuǎn)換 服務(wù)器端:gethostbyname('www.baidu.com')

9、使用那些工具進(jìn)行版本控制。

cvs,svn,git

10、語(yǔ)句include和require的區(qū)別是什么?為避免多次包含同一文件,可以用(?)語(yǔ)句代替他們。

● require是無(wú)條件包含,也就是如果一個(gè)流程里加入require,無(wú)論條件成立與否都會(huì)先執(zhí)行require,當(dāng)文件不存在或者無(wú)法打開(kāi)的時(shí)候,會(huì)提示錯(cuò)誤,并且會(huì)終止程序執(zhí)行

● include有返回值,而require沒(méi)有(可能因?yàn)槿绱藃equire的速度比include快),如果被包含的文件不存在的化,那么會(huì)提示一個(gè)錯(cuò)誤,但是程序會(huì)繼續(xù)執(zhí)行下去

注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的,而include不是

● require_once表示了只包含一次,避免了重復(fù)包含

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,701評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,691評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,974評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,694評(píng)論 6 413
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,026評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評(píng)論 3 450
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,193評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,719評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,668評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,846評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,255評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,592評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,394評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評(píng)論 2 380

推薦閱讀更多精彩內(nèi)容

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進(jìn)階之旅閱讀 114,561評(píng)論 24 450
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,784評(píng)論 1 92
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,539評(píng)論 1 19
  • 老公也生病了,惡心頭暈……回家休息了。今晚我自己在醫(yī)院堅(jiān)守,有一絲孤獨(dú)。對(duì)自己說(shuō),晚安
    新新竹閱讀 164評(píng)論 0 0
  • 堅(jiān)持像個(gè)孩子一樣,哭就哭的痛快,笑就笑的坦蕩。 長(zhǎng)大了,越來(lái)越習(xí)慣的附和其他人,附和自己的朋友,附和自己的老板,附...
    CLOUD燕子閱讀 657評(píng)論 0 1