當前位置:學問君>學習教育>考研>

比較基礎的php面試題及答案-填空題

學問君 人氣:1.37W

填空題:

比較基礎的php面試題及答案-填空題

1.在PHP中,當前腳本的名稱(不包括路徑和查詢字元串)記錄在預定義變量__$_SERVER['PHP_SELF']__中;而連結到當前頁面的URL記錄在預定義變量__$_SERVER['HTTP_REFERER']__

2.執行程序段將輸出__0__。

3.在HTTP 1.0中,狀態碼 401 的含義是____;如果返回“找不到檔案”的提示,則可用 header 函數,其語句爲____。

4.數組函數 arsort 的作用是__對數組進行逆向排序並保持索引關係__;語句 error_reporting(2047)的作用是__報告所有錯誤和警告__。

中的數據庫連接字元串格式是____。

6.寫出一個正則表達式,過慮網頁上的所有JS/VBS腳本(即把scrīpt標記及其內容都去掉):preg_replace(“//si”, “newinfo”, $script);

7.以Apache模組的方式安裝PHP,在檔案中首先要用語句____動態裝載PHP模組,然後再用語句____使得Apache把所有副檔名爲php的檔案都作爲PHP腳本處理。

LoadModule php5_module “c:/php/” , AddType application/x-httpd-php ,

8.語句 include 和 require 都能把另外一個檔案包含到當前檔案中,它們的區別是____;爲了避免多次包含同一檔案,可以用語句__require_once||include_once__來代替它們。

9.類的屬性可以序列化後儲存到 session 中,從而以後可以恢復整個類,這要用到的函數是____。

10.一個函數的參數不能是對變量的引用,除非在中把__allow_call_time_pass_reference boolean__設爲on.

中LEFT JOIN的含義是__自然左外連結__。如果 tbl_user記錄了學生的姓名(name)和學號(ID),tbl_score記錄了學生(有的學生考試以後被開除了,沒有其記錄)的學號(ID)

和考試成績(score)以及考試科目(subject),要想打印出各個學生姓名及對應的的.各科總成績,則可以用SQL語句____。

12.在PHP中,heredoc是一種特殊的字元串,它的結束標誌必須____。

編程題:

13.寫一個函數,能夠遍歷一個檔案夾下的所有檔案和子檔案夾。

答:

function my_scandir($dir)

{

$files = array();

if ( $handle = opendir($dir) ) {

while ( ($file = readdir($handle)) !== false ) {

if ( $file != “..” && $file != “.” ) {

if ( is_dir($dir . “/” . $file) ) {

$files[$file] = scandir($dir . “/” . $file);

}else {

$files[] = $file;

}

}

}

closedir($handle);

return $files;

}

}

14.簡述論壇中無限分類的實現原理。

答:

/*

數據表結構如下:

CREATE TABLE `category` (

`categoryID` smallint(5) unsigned NOT NULL auto_increment,

`categoryParentID` smallint(5) unsigned NOT NULL default ’0′,

`categoryName` varchar(50) NOT NULL default ”,

PRIMARY KEY (`categoryID`)

) ENGINE=MyISAM DEFAULT CHARSET=gbk;

INSERT INTO `category` ( `categoryParentID`, `categoryName`) VALUES

(0, ‘一級類別’),

(1, ‘二級類別’),

(1, ‘二級類別’),

(1, ‘二級類別’),

(2, ‘三級類別’),

(2, ’333332′),

(2, ’234234′),

(3, ‘aqqqqqd’),

(4, ‘哈哈’),

(5, ’66333666′);

*/

//指定分類id變量$category_id,然後返回該分類的所有子類

//$default_category爲默認的選中的分類

function Get_Category($category_id = 0,$level = 0, $default_category = 0)

{

global $DB;

$sql = “SELECT * FROM category ORDER BY categoryID DESC”;

$result = $DB->query( $sql );

while ($rows = $DB->fetch_array($result))

{

$category_array[$rows[categoryParentID]][$rows[categoryID]] = array(‘id’ => $rows[categoryID], ‘parent’ => $rows[categoryParentID], ‘name’ => $rows

[categoryName]);

}

if (!isset($category_array[$category_id]))

{

return “”;

}

foreach($category_array[$category_id] AS $key => $category)

{

if ($category['id'] == $default_category)

{

echo “n”;

}

else

{

echo “>” . $category['name'] . “n”;

}

Get_Category($key, $level + 1, $default_category);

}

unset($category_array[$category_id]);

}

/*

函數返回的數組格式如下所示:

Array

(

[1] => Array ( [id] => 1 [name] => 一級類別 [level] => 0 [ParentID] => 0 )