php面試題目

2021-07-15 19:16:29 字數 3335 閱讀 8453

**:

去年校園招聘的時候自己準備了挺久的,其中在php開發這個崗位上做的準備工作比較多,今天整理自己的印象筆記,發現當時收集了很多資料,在這裡整理一下,幫助自己回顧一些基礎知識,同時也分享給有需要的人。

a:echo date(『y-m-d h:i:s』, strtotime(「-1 day」));//method 1

echo date(『y-m-d h:i:s』, time() - 60*60*24);//method 2

a:echo是語言結構,無返回值;

print的功能和echo基本相同,不同的是print是函式,有返回值

print_r是遞迴列印,用於輸出陣列或物件a:i

p=ge

thos

tbyn

ame(

「」);

echo

ip;//獲取真實ip

a:foo() 會執行這個函式,任何解譯錯誤、語法錯誤、執行錯誤都會在頁面上顯示出來。 @foo() 在執行這個函式時,會隱藏所有上述的錯誤訊息。 很多應用程式都使用 @mysql_connect() 和 @mysql_query 來隱藏 mysql 的錯誤訊息,我這其實是很嚴重的失誤,因為錯誤不該被隱藏,必須妥善處理它們,可能的話解決它們。

a:「===」是給既可以送回布林值「假」,也可以送回乙個不是布林值但卻可以賦與「假」值的函式,strpos() 和 strrpos() 便是其中兩個例子。 例子: if (strpos(「abc」, 「a」) == true)if (strpos(「abc」, 「a」) === true)

a:header() 可以用來使瀏覽器轉向到另乙個頁面,例如: header(「location:

a:php中require、include、require_once和include_once的區別

a:mysql_fetch_row()把資料庫的一行資料儲存在乙個以零為基數的陣列中,第一欄在陣列的索引 0,第二欄在索引 1,如此類推。 mysql_fetch_assoc() 把資料庫的一行資料儲存在乙個關聯陣列中,陣列的索引就是欄位名稱,例如我的資料庫查詢送回「first_name」、「last_name」、「email」三個字段,陣列的索引便是「first_name」、「last_name」和「email」。 mysql_fetch_array() 可以同時送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。

a:fopen()這是正確答案,fopen() 可以用來開啟檔案以便讀/寫

a:sort() 函式用於對陣列單元從低到高進行排序,如果成功則返回 true,失敗則返回 false。

注意:本函式會為排序的陣列中的單元賦予新的鍵名,這將刪除原有的鍵名而不僅是重新排序。

asort() 函式用於對陣列單元從低到高進行排序並保持索引關係,如果成功則返回 true,失敗則返回 false。

ksort() 函式用於對陣列單元按照鍵名從低到高進行排序,如果成功則返回 true,失敗則返回 false。 本函式會保留原來的鍵名,因此常用於關聯陣列。

arsort() 函式行為與 asort() 相反,對陣列單元進行由高到低排序並保持索引關係

a:echo preg_replace(「/].?>.?/si」, 「」, $script);

a:首先當po

st與p

hp:/

/inp

ut可以

取到值時

http_raw_post_data 為空; ht

tpra

wpos

tdat

a是ph

p內建的

乙個全域性

變數。它

用於,p

hp在無

法識別的

cont

ent−

type

的情況下

,將po

st過來

的資料原

樣地填入

變數http_raw_post_data。它同樣無法讀取content-type為multipart/form-data的post資料。需要設定php.ini中的always_populate_raw_post_data值為on,php才會總把post資料填入變數$http_raw_post_data。

然後$_post以關聯陣列方式組織提交的資料,並對此進行編碼處理,如urldecode,甚至編碼轉換; 而php://input 通過輸入流以檔案讀取方式取得未經處理的post原始資料;

php://input 允許讀取 post 的原始資料。和 $http_raw_post_data 比起來,它給記憶體帶來的壓力較小,並且不需要任何特殊的 php.ini 設定。php://input 不能用於enctype=」multipart/form-data」;的情況。

php://input讀取不到ge

t陣列的

資料。是

因為_get資料作為query_path寫在http請求頭部(header)的path欄位,而不是寫在http請求的body部分。

a:session是在伺服器端保持使用者會話資料的一種方法,對應的cookie是在客戶端保持使用者資料。http協議是一種無狀態協議,伺服器響應完之後就失去了與瀏覽器的聯絡,最早,netscape將cookie引入瀏覽器,使得資料可以客戶端跨頁面交換,那麼伺服器是如何記住眾多使用者的會話資料呢? 首先要將客戶端和伺服器端建立一一聯絡,每個客戶端都得有乙個唯一標識,這樣伺服器才能識別出來。建議唯一標識的方法有兩種:cookie或者通過get方式指定。預設配置的php使用session的時會建立乙個名叫」phpsessid」的cookie(可以通過php.ini修改session.name值指定),如果客戶端禁用cookie,你也可以指定通過get方式把session id傳到伺服器(修改php.ini中session.use_trans_sid等引數)。

a:相當於 error_reporting(『e_all』); 輸出所有的錯誤。

字串」open_door」轉換成 「opendoor」、」make_by_id」 轉換成」makebyid」。

a:function str_change(

str) 

a:list(a,

b)=array(b,

a);//1

a=a+b,b=a-b,a=a-b;//2

allow_call_time_pass_reference boolean //是否啟用在函式呼叫時強制引數被按照引用傳遞

面試題 PHP面試題

建議 比如是系統配置,缺少了無法執行,自然使用 require 如果某一段程式少了,只是少了統計 訪問的,不是必不可少的。可以使用 include 而加不加 once 就是效率上的區別,雖然系統會幫你考慮只包含一次,但系統的判斷會降低效率,因此,更應該在開發之初,把目錄結構調整高好,盡量不使用 on...

C 面試題目

1 ispostback正確的是 首次載入頁面的ispostback的值為false 重新整理頁面後的ispostback的值為true 第三個選項忘了 2 頁面傳值的幾種方式 request.querystring session server.transfer 3 什麼是瀏覽器的 無狀態 如何解...

面試題目總結

1.char p和char p的區別。1 char getstring void void main 2 char getstring void void main 為什麼 1 輸出的是亂碼,2 能夠輸出 hello world?hello world 作為靜態字串實際上儲存在文字常量區 參見 棧和...