真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用php怎么編寫一個(gè)在線考試系統(tǒng)-創(chuàng)新互聯(lián)

使用php怎么編寫一個(gè)在線考試系統(tǒng)?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、向陽網(wǎng)站維護(hù)、網(wǎng)站推廣。

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


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

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


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

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


3、變量題庫文件。

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

//統(tǒng)計(jì)題庫目錄下的“.php”文件個(gè)數(shù),此處要求題庫文件名必須是連續(xù)的數(shù)字$count = count(glob('./data/*.php'));

    glob()函數(shù)返回的是文件列表的數(shù)組,運(yùn)行g(shù)lob()函數(shù)dump輸出結(jié)果如下:


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

    因?yàn)榇娣艛?shù)據(jù)的文件名都是連續(xù)的數(shù)字,便于我們通過循環(huán)讀取考題信息。

4、匿名函數(shù)的使用。

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


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

    使用匿名函數(shù)遞歸對考題數(shù)據(jù)的特殊字符進(jìn)行轉(zhuǎn)義。

5、轉(zhuǎn)義HTML特殊字符。

    考題中如果出現(xiàn)HTML標(biāo)記,會被瀏覽器解析,導(dǎo)致不能按照原樣輸出,因此需要對題庫中可能存在的HTML標(biāo)記進(jìn)行字符轉(zhuǎn)義,代碼如下:


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

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

    對應(yīng)htmlspecialchars()函數(shù)不能對空格和換行進(jìn)行轉(zhuǎn)義,要對空格進(jìn)行轉(zhuǎn)義,需要使用str_replace()函數(shù)直接替換,換行符則可以使用nl2br函數(shù)。

6、return返回兩個(gè)值形式。

    具體代碼如下:


function getDataInfo($data){ 
 $count = []; 
//保存某種題型的題目數(shù)量 
$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);順序依次對應(yīng)}

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


7、將要用到的功能封裝成一個(gè)個(gè)功能函數(shù),方便調(diào)用,避免代碼重復(fù)。

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


8、使用模板

    當(dāng)使用PHP處理好數(shù)據(jù)后,在PHP文件中使用

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

引入HTML模板,在模板中,我們同樣可以插入PHP標(biāo)簽輸出想要的數(shù)據(jù),進(jìn)行動態(tài)的顯示數(shù)據(jù)。

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

直接輸出一個(gè)變量:

循環(huán)輸出一組變量:$v): ?>~~~~~~~


9、注意三元運(yùn)算符的使用。:?

    當(dāng)做一些簡單的判斷輸出時(shí),使用三元運(yùn)算符: ?可以大大的提升效率,簡化代碼。






PHP開發(fā)環(huán)境搭建工具有哪些

一、phpStudy,是一個(gè)新手入門最常用的開發(fā)環(huán)境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個(gè)功能強(qiáng)大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務(wù)器管理軟件,支持windows和linux系統(tǒng)。六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務(wù)器PHP套件。

看完上述內(nèi)容,你們掌握使用php怎么編寫一個(gè)在線考試系統(tǒng)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)站題目:使用php怎么編寫一個(gè)在線考試系統(tǒng)-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/csigsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部