好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > php實現在線考試系統【附源碼】

php實現在線考試系統【附源碼】

熱門標簽:合肥企業外呼系統線路 萍鄉商鋪地圖標注 電信外呼系統多少錢一個月 宿州正規外呼系統軟件 神龍斗士電話機器人 太原400電話申請流程 桂陽公司如何做地圖標注 代理打電話機器人 企業400電話辦理多少費用

說明:本篇文章是為了記錄下學習開發思路,程序不具備商業價值,明白開發思路,商用需二次升級!

效果圖如下:

題庫首頁展示

試題在線測試

分數統計

通過該小項目目的是練習PHP基礎知識,通過對數組操作實現考題信息存儲加載,引入模板文件,實現考題數據的調用布局。

1、由于小項目未使用數據庫,考題以數組的形式存儲在PHP文件中,部分代碼如下:

?php//考試題庫二return [ 
//題庫標題 'title' => 'PHP基礎語法考試題(二)', //答題時限(秒數) 
'timeout' => 1200, //題庫 
'data' => [ //判斷題 
'binary' => [ 
'name' => '判斷題', //題型名稱 
'score' => 24, //題型分數 
'data' => [ 
1 => [ 
'question' => '在".php"后綴的文件中,所有的PHP代碼都只能寫在"?php ?>"標記內。', 
'answer' => 'no' 
], 2=> [ 
'question' => '標量類型包括布爾型、整型、字符串型和數組型。', 
'answer' => 'no' 
], 3=> [ 
'question' => 'var_dump是PHP中用于打印變量或表達式的類型與值等相關信息的函數。', 
'answer' => 'yes' 
] 
] 
], //單選題 
'single' => [ 
'name' => '單選題', 
'score' => 40, 
'data' => [ 
1 => [ 
'question' => '下列選項中,不區分大小寫的標識符是( )。', 
'option' => [ 
'函數名','常量名','變量名','屬性名' 
], 
'answer' => 'A' 
], 2=> [

2、那么如何獲取考題數據呢?引入文件即可

$data=require "./data/1.php";

注意,上面考題文件是用return返回的數組,當我們引入文件后,直接將考題數組數據賦給$data變量,再通過操作$data來展示題庫數據。

3、變量題庫文件。

    所有的題庫文件均統一放在/data/目錄下,每個考試項目對應一個.php文件,想要知道有多少考試數據,即多少個.php文件,這里我們使用了glob()函數,代碼如下:

//統計題庫目錄下的“.php”文件個數,此處要求題庫文件名必須是連續的數字$count = count(glob('./data/*.php'));

    glob()函數返回的是文件列表的數組,運行glob()函數dump輸出結果如下:

array(3) { 
 [0]=> string(12) "./data/1.php" 
[1]=> string(12) "./data/2.php" 
 [2]=> string(12) "./data/3.php"}

    因為存放數據的文件名都是連續的數字,便于我們通過循環讀取考題信息。

4、匿名函數的使用

    匿名函數就是沒有函數名的函數,也稱作閉包函數,經常用作毀掉函數參數的值,對于臨時定義的函數,使用匿名函數無需考慮函數命名沖突的問題。這里使用匿名函數純屬是練習的目的,我們也可以將如下的代碼封裝成一個功能函數:

$func = function ($data) use($func){ 
 $result = [];
 foreach ($data as $k=>$v){ 
//如果是數組,則繼續遞歸,如果是字符串,則轉義 
 $result[$k] = is_array($v) ? $func($v) : (is_string($v) ? toHtml($v) : $v); 
} 
 return $result;};

    使用匿名函數遞歸對考題數據的特殊字符進行轉義。

5、轉義HTML特殊字符。

    考題中如果出現HTML標記,會被瀏覽器解析,導致不能按照原樣輸出,因此需要對題庫中可能存在的HTML標記進行字符轉義,代碼如下:

//HTML特殊字符轉義function toHtml($str)
{ $str=htmlspecialchars($str,ENT_QUOTES); 
 return str_replace(' ','nbsp;',$str);
}

    這里使用函數htmlspecialchars()函數對可能存在的特殊字符進行轉義,這樣再輸出的時候,就能按照我們想要的格式進行輸出。

    對應htmlspecialchars()函數不能對空格和換行進行轉義,要對空格進行轉義,需要使用str_replace()函數直接替換,換行符則可以使用nl2br函數。

6、return返回兩個值形式。

    具體代碼如下:

function getDataInfo($data){ 
 $count = []; 
//保存某種題型的題目數量 
$score = []; 
//每道題的分值 
foreach ($data as $k=>$v) 
{ 
$count[$k]=count($v['data']); 
 $score[$k]=round($v['score']/$count[$k]); 
 } return [$count,$score]; 
//使用list()接收返回值:list($count,$score);順序依次對應}

    代碼最后使用return返回了兩個結果變量,要接收這兩個返回值,需要使用list()來接收一個數組賦值,將數組中的元素依次賦給變量。

7、將要用到的功能封裝成一個個功能函數,方便調用,避免代碼重復。

    這里將所有用到的一些功能盡可能的都封裝為一個個函數,當使用的時候引入函數文件即可,方便管理,提高代碼利用率。

8、使用模板

    當使用PHP處理好數據后,在PHP文件中使用

//引入HTML模板require './view/index.html';

引入HTML模板,在模板中,我們同樣可以插入PHP標簽輸出想要的數據,進行動態的顯示數據。

在線考試系統請選擇題庫$v): ?>
 時間:分鐘 總分:分開始考試

直接輸出一個變量:?=$value?>

循環輸出一組變量:?php foreach($value as $k=>$v): ?>~~~~~~~?php endforeach; ?>

9、注意三元運算符的使用。:?

    當做一些簡單的判斷輸出時,使用三元運算符: ?可以大大的提升效率,簡化代碼。

!-- 答題情況 -->
td>?=$v ? '對' : '錯'?>
/td>!-- 得分 -->
td>?=$v ? $score[$type] : 0?>
/td>

上述代碼中,$v是一個bool值,通過三元運算符我們可以省略一大堆if判斷,使代碼看上去更加整潔。

10、頁面中的計時倒計時、關閉頁面提示、未做考題提交提示、考試時間結束自動交卷功能是通過jQuery、javascript來實現的,這里不作說明。

最后給大家附上程序源碼下載地址:點擊此處下載

總結

以上所述是小編給大家介紹的PHP htmphp實現在線考試系統附源碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • PHP實現的簡單在線計算器功能示例
  • PHP實現統計在線人數功能示例
  • PHP在線打包下載功能示例
  • php支付寶在線支付接口開發教程
  • Ajax PHP JavaScript MySQL實現簡易無刷新在線聊天室
  • PHP在線調試執行的實現方法(附demo源碼)
  • PHP實現仿百度文庫,豆丁在線文檔效果(word,excel,ppt轉flash)
  • PHP+swoole實現簡單多人在線聊天群發

標簽:辛集 太原 衡陽 崇左 廊坊 綏化 鄂州 白銀

巨人網絡通訊聲明:本文標題《php實現在線考試系統【附源碼】》,本文關鍵詞  php,實現,在線考試,系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php實現在線考試系統【附源碼】》相關的同類信息!
  • 本頁收集關于php實現在線考試系統【附源碼】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久8精品亚洲AV无码| 最近中文字幕高清字幕免费mv| 日韩精品一区二区在线观看| 一本大道久久卡一卡二卡三乱码| 激扬人生小说在线阅读全文免费下载 | 不花钱的毛片| 色情巨乳裸体视频欧美| 情欲酒店2未删减电影| 丰满少妇张开大白腿摄影图片| 狠狠色噜噜色狠狠狠综合久久 | 国产精品丝袜高跟鞋| 情满九道弯| 日韩欧美天堂| 边摸边吃奶边叫床激情app| XXX高清偷拍女厕XXXX| 古装大尺度色情无删减| 久久国产精品亚洲AV七区色| 销魂美女一区二区| 亚洲人成网站在线观看青青| 欧美乱妇无码毛片| 极品尤物翘臀裸感被猛然发现| m3u7成人性视频免费观看 | 中文无码欧美日韩vr| 好大?好爽?深一点哭| 无套美女极品粉嫩国产高潮| 免费一看一级毛片少妇丰满2| 亚洲精品天堂在线| 乳色吐息无删减在线观看免费| 亚洲美女福利| 色屁屁在线| 27报深夜福利gif动态图厕所| 毛片免费看牛牛影视| 校园多汁多肉的高h黄文| 国产+无码+精品十欧美| 欧美黑大粗硬毛片免费视频A片| 欧美视频一区二区三区| 我在女宿舍纵欲的日子| 无码的最新国产在线观看| 粉嫩AV一区二区在线观看视频 | 十二寡妇征西| 乌克兰性极品美女XXXⅩ|