首頁 後端開發 php教程 最新的PHP經典面試題目總結(上篇)

最新的PHP經典面試題目總結(上篇)

Mar 18, 2017 am 09:14 AM

這篇文章主要介紹了2017年最新PHP經典面試題目匯總(上篇),非常不錯,具有參考借鑒價值,需要的朋友可以參考下

1、雙引號和單引號的區別

  • 雙引號解釋變量,單引號不解釋變數

  • 雙引號裡插入單引號,其中單引號裡如果有變數的話,變數解釋

  • 雙引號的變數名後面必須要有一個非數字、字母、底線的特殊字元,或用{}講變數括起來,否則會將變數名稱後面的部分當做一個整體,造成語法錯誤

雙引號解釋轉義字符,單引號不解釋轉義字符,但是解釋'\和\\

能使單引號字符盡量使用單引號,單引號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變量,然後再進行操作,而單引號則不需要判斷)
  • 2.常用的

    超全域變數

    (8個)
  • #$_GET ----->get傳送方式

  • $POST ----->post傳送方式

  • #$REQUEST ----->可以接收到get和post兩種方式的值

  • ***

  • $GLOBALS ----->所有的變數都放在裡面

  • $FILE ----->上傳檔案使用

  • $SERVER ----->系統環境變數

    #* **
  • $SESSION ----->會話控制的時候會用到
  • $ COOKIE ----->會話控制的時候會用到
  • #3、HTTP中POST、GET、PUT、DELETE方式的差異

HTTP定義了與伺服器互動的不同的方法,最基本的是POST、GET、PUT、DELETE,與其比不可少的URL的全名是資源描述符,我們可以這樣理解: url描述了一個網路上資源,而post、get、put、delegate就是對這個資源進行增、刪、改、查的操作!

  • 3.1表單中get與post提交方式的差異

  • get是把參數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個欄位一一對應,從url可以看到;post是透過HTTPPOST機制,將表單內各個欄位與其內容防止在HTML的head中一起傳送到action屬性所指的url位址,使用者看不到這個過程

  • 對於get方式,伺服器端用Request.QueryString取得變數的值,對於post方式,伺服器端用Request.Form取得提交的資料

    get傳送的資料量較小,post傳送的資料量較大,一般預設為不受限制,但在理論上,IIS4中最大量為80kb, IIS5中為1000k,
  • get安全性非常低,post安全性較高

3.2#GET請求會向資料庫發送索取資料的請求,從而來獲取信息,該請求就像資料庫的select操作一樣,只是用來

查詢

一下數據,不會修改、增加數據,不會影響資源的內容,即該請求不會產生副作用。無論進行多少次操作,結果都是一樣的。

與GET不同的是,PUT請求是向伺服器端發送資料的,從而改變訊息,該請求就像資料庫的update操作一樣,用來修改資料的內容,但是不會增加資料的種類等,也就是說無論進行多少次PUT操作,其結果並沒有不同。

POST請求

同PUT請求類似,都是向伺服器端發送資料的,但是該請求會改變資料的種類等資源,就像資料庫的insert操作一樣,會創造新的內容。幾乎目前所有的提交操作都是用POST請求的。

#########DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像資料庫的###delete操作###。 ##################4、PHP介紹############Hypertext Preprocessor----超文本預處理器##### #Personal Home Page 原始名稱######目標用途: 允許web開發人員快速編寫動態生成的web頁面,與其他頁面相比,PHP是將程式嵌入到###HTML文檔###中去執行,效率比完全生成HTML編輯的CGI高很多######HTML: Hypertext Markup Language######創始人: 拉姆斯勒·勒多夫Rasmus Lerdorf,1968年生,加拿大滑鐵盧大學## #

勒多夫最開始是為了維護個人網頁,用prel語言寫了維護程序,之後又用c進行了重寫,最終衍生出php/fi

時間軸:

  • 1995.06.08將PHP/FI公開釋出

  • 1995 php2.0,加入了對MySQL#的支援

  • 1997 php3.0

  • 2000 php4.0

  • ##2008 php5.0

  • #由於php6.0沒有完全解決Unicode編碼,所以基本上沒有生產線上的應用,基本上只是一個概念產品,很多功能已經在php5.3.3和php5.3.4上實現

  • #常見的IDE(Intergrated Development Environment): 整合開發環境

#Coda(mac)

PHPStrom
Adobe Dreamweaver
NetBeans

常見文字

編輯器,具備程式碼高亮:

NodePad++

SublimeText

PHP優勢

PHP特性:

  • php獨特地混合了C,Java,Prel以及PHP自創的語法


  • 可以比CGI或Prel更快速去執行動態網頁,與其他變成語言相比,PHP是講程式嵌入到HTML文件中去執行,執行效率比完全產生HTML編輯的CGI要高很多,所有的CGI都能實現


  • 支援幾乎所有流行的資料庫以及作業系統


  • PHP可以使用C,C++進行程式的擴充


PHP優勢:

    ##開放原始碼
  • 免費性愛
  • 快捷性
  • #跨平台強
  • ##效率高

  • 圖形處理

  • #物件導向

  • 專業專注

    PHP技術應用程式:
  • # 靜態頁面產生

  • 資料庫快取

  • 過程快取

    #p+css
  • w3c
  • 標準

  • 大負載

  • 分散式

  • #flex

    ##支援

  • ## MVC

  • Smarty模組引擎

PHP認證等級


初級IFE:Index Front Engineer 前端工程師

中級IPE:Index PHP Engineer PHP工程師

高級IAE:Index Architecture Engineer 架構工程師

#6、echo、print_r、 print、var_dump之間的差異

* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false
* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值
登入後複製
#7、HTTP狀態碼

##點擊這兒查看HTTP狀態碼詳解

常見的HTTP狀態碼:

200 - 請求成功
301 - 資源(網頁等)被永久轉義到其他URL
404 -請求的資源(網頁等)不存在

505 - 內部伺服器錯誤

HTTP狀態碼分類:

1** - 訊息,伺服器收到的請求,需要請求者繼續執行動作
2** - 成功,操作被成功接收並處理
3** - 重定向,需要進一步的操作以完成請求
4** - 客戶端錯誤,請求包含語法錯誤或無法完成請求
5** 伺服器錯誤,伺服器在處理請求的過程

中發生了錯誤

8、什麼是魔術引號

魔術引號是一個將自動將進入PHP腳本的資料進行轉義的過程,最好在編碼時不要轉義而在運行時根據需要而轉義9、如何取得客戶端的ip(要求取得一個int)和伺服器ip的程式碼



客戶端:$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')

ip2long進行轉換

伺服器端:gethostbyname('www.baidu.com')10、使用那些工具進行版本控制

cvs、svn、vss、

git

#11、最佳化資料庫的方法

##MySQL資料庫

優化的八大方式(經典必看)點擊取得


選取最適用的欄位屬性,盡可能減少定義欄位寬度,盡量把欄位設定NOTNULL,例如'省份'、'性別'最好適用ENUM
使用連接(JOIN)來代替子查詢
適用聯合(UNION)來代替手動建立的臨時表
事務處理
鎖定表、最佳化事務處理
適用外鍵,優化鎖定表
建立索引
優化查詢語句

####

12、是否使用過模板引擎?使用的模板引擎的名字是?

Smarty:Smarty算是一種很老的PHP模板引擎了,它曾經是我使用這門語言模板的最初選擇。雖然它的更新已經不算頻繁了,並且缺少新一代模板引擎所具有的部分特性,但是它仍然值得一看。

13、對於大流量網站,採用什麼方法來解決訪問量的問題

確認伺服器硬體是否能夠支援目前的流量
資料庫讀寫分離,最佳化資料表
程式功能規則,禁止外部的盜鏈
控制大檔案的下載
使用不同主機分流主要流量

14、語句includerequire的差別是什麼?為避免多次包含相同文件,可以用(?)語句代替他們

require是無條件包含,也就是如果一個流程裡加入require,無論條件成立與否都會先執行require,當檔案不存在或無法開啟的時候,會提示錯誤,並且會終止程式執行

include有回傳值,而require沒有(可能因為如此require的速度比include快),如果被包含的檔案不存在的化,那麼會提示一個錯誤,但是程式會繼續執行下去

注意:包含檔案不存在或語法錯誤的時候require是致命的,而include不是

require_once表示了只包含一次,避免了重複包含

15、談談mvc的認知

由模型、視圖、控制器完成的應用程序,由模型發出要實現的功能到控制器,控制器接收組織功能傳遞給視圖

16. 說明php中傳值與傳引用的區別,並說明傳值何時傳引用?

變數預設總是傳值賦值,那也就是說,當將一個表達式的值賦予一個變數時,整個表達式的值被賦值到目標變量,這意味著:當一個變數的賦予另一個變數時,改變其中一個變數的值,將不會影響到另一個變數

php也提供了另一種方式給變數賦值:引用賦值。這意味著新的變數簡單的引用(換言之,成為了其別名或指向)了原始變數。改動的新的變數將影響到原始變量,反之亦然。使用引用賦值,簡單地將一個&符號加到將要賦值的變數前(來源變數)

物件預設是傳引用

#對於較大是的數據,傳引用比較好,這樣可以節省記憶體的開銷

以上是最新的PHP經典面試題目總結(上篇)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

See all articles