PHP筆試試題

蜂採百花釀甜蜜,人讀羣書明真理。以下是小編爲大家搜索整理的PHP筆試試題,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

PHP筆試試題

1.表單中 get與post提交方法的區別?

答:get是發送請求HTTP協議通過url參數傳遞進行接收,而post是實體數據,可以通過表單提交大量信息.

ion與cookie的區別?

答:session:儲存用戶訪問的全局唯一變量,存儲在服務器上的php指定的目錄中的(session_dir)的位置進行的存放

cookie:用來存儲連續訪問一個頁面時所使用,是存儲在客戶端,對於Cookie來說是存儲在用戶WIN的Temp目錄中的。 兩者都可通過時間來設置時間長短

3.數據庫中的事務是什麼?

答:事務(transaction)是作爲一個單元的`一組有序的數據庫操作。如果組中的所有操作都成功,則認爲事務成功,即使只有一個操作失敗,事務也不成功。如果所有操作完成, 事務則提交,其修改將作用於所有其他數據庫進程。如果一個操作失敗,則事務將回滾,該事務所有操作的影響都將取消。

4. HTTP協議中幾個狀態碼的含義

500——服務器產生內部錯誤

501——服務器不支持請求的函數

502——服務器暫時不可用,有時是爲了防止發生系統過載

503——服務器過載或暫停維修

400——錯誤請求,如語法錯誤

401——請求授權失敗

403——請求不允許

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請求收到,但返回信息爲空

205——服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件

206——服務器已經完成了部分用戶的GET請求

300——請求的資源可在多處得到

301——刪除請求數據

302——在其他地址發現了請求數據

ude require include_once require_once 的區別.

include() 、require()語句包含並運行指定文件。這兩結構在包含文件上完全一樣,唯一的區別是對於錯誤的處理。require()語句在遇到包含文件不存在,或是出錯的時候,就停止即行,並報錯。include()則繼續即行。

include_once()和require_once()一樣,應該用於在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一 次以避免函數重定義,變量重新賦值等問題。這就是include_once()和require_once()與include() 和require()的主要區別。

6.寫出一些php魔幻方法

__construct 初始化 構造函數

__destruct 卸載 析構函數

__autoload 自動加載函數

__call 調用不存在的類的函數的時候得處理方法,__call 失敗,就調用父類方法,依此類推 __get 獲取屬性值

__set() 設置屬性值

__isset() 測定變量是否設定用的函數,傳入一個變量作爲參數,如果傳入的變量存在則傳回true,否則傳回false

__unset() 刪除指定的變量且傳回true,參數爲要刪除的變量。

__clone(); 克隆對象

__toString(); 進行對象的類型轉換

__sleep();

__wakeup();

當一個對象被串行化,PHP會調用__sleep方法(如果存在的話). 在反串行化一個對象

後,PHP 會調用__wakeup方法. 這兩個方法都不接受參數. __sleep方法必須返回一個數組,包含需要串行化的屬性.

一些編譯php時的configure 參數

count(“abc”); 輸出什麼?

答案:1

count — 計算數組中的單元數目或對象中的屬性個數

int count ( mixed$var [, int $mode ] ), 如果 var 不是數組類型或者實現了 Countable 接口的對象,將返回1,有一個例外,如果 var 是 NULL 則結果是 0。

對於對象,如果安裝了 SPL,可以通過實現 Countable 接口來調用 count()。該接口只有一個方法 count(),此方法返回 count() 函數的返回值。

8.有一個一維數組,裏面存儲整形數據,請寫一個函數,將他們按從大到小的順序排列。要求執行效率高。並說明如何改善執行效率。(該函數必須自己實現,不能使用php函數)

function BubbleSort(&$arr)

{

$cnt=count($arr);

$flag=1;

for($i=0;$i<$cnt;$i++)

{ if($flag==0)

{

return; }

$flag=0;

for($j=0;$j<$cnt-$i-1;$j++) {

if($arr[$j]>$arr[$j+1]) {

$tmp=$arr[$j];

$arr[$j]=$arr[$j+1]; $arr[$j+1]=$tmp;

$flag=1;

}

}

}

}

$test=array(1,3,6,8,2,7);

BubbleSort($test);

var_dump($test);

?>

9. php class中static,public,private,protected的區別?

static 靜態,類名可以訪問

public 表示全局,類內部外部子類都可以訪問;

private表示私有的,只有本類內部可以使用;

protected表示受保護的,只有本類或子類或父類中可以訪問;

10.請寫一個函數,實現以下功能:

字符串“open_door” 轉換成 “OpenDoor”、”make_by_id”轉換成”MakeById”。 方法1:

function str_explode($str){

$str_arr=explode(“_”,$str);$str_implode=implode(” “,$str_arr); $str_implode=implode (“”,explode(” “,ucwords($str_implode)));

return $str_implode;

}

$strexplode=str_explode(“make_by_id”);print_r($strexplode);

方法2:$str=”make_by_id!”; $expStr=explode(“_”,$str);

for($i=0;$i

echo ucwords($expStr[$i]); }

方法3:echo str_replace(? ?,”,ucwords(str_replace(?_?,? ?,?open_door?)));