Heim häufiges Problem Online-Prüfungstrainingssystem für die PHP-Entwicklung

Online-Prüfungstrainingssystem für die PHP-Entwicklung

Feb 22, 2020 pm 12:12 PM
php开发 在线考试

Online-Prüfungstrainingssystem für die PHP-Entwicklung

PHP-Entwicklung Online-Prüfungstrainingssystem

Hinweis: In diesem Artikel werden Lern- und Entwicklungsideen und -verfahren aufgezeichnet Hat keinen kommerziellen Wert. Die kommerzielle Nutzung erfordert ein zweites Upgrade.

(Empfohlenes Lernen: PHP-Schulung)

Die Darstellung ist wie folgt:

Online-Prüfungstrainingssystem für die PHP-Entwicklung

Frage Anzeige der Bank-Homepage

Online-Prüfungstrainingssystem für die PHP-Entwicklung

Online-Test von Testfragen

Online-Prüfungstrainingssystem für die PHP-Entwicklung

Ergebnisstatistik

Der Zweck von In diesem kleinen Projekt werden die Grundlagen des PHP-Wissens geübt. Durch Array-Operationen werden die Testfrageninformationen gespeichert und geladen sowie Vorlagendateien eingeführt, um das Aufruflayout der Testfragendaten zu realisieren.

1. Da das kleine Projekt keine Datenbank verwendet, werden die Testfragen in Form von Arrays wie folgt gespeichert:

Hinweis: Der folgende Code ist ein sehr komplexes Chaos. . Sie können den Quellcode des Programms am Ende des Artikels herunterladen und ihn in diesem Blogbeitrag ansehen.

<?php
// 考试题库二
return [   
// 题库标题  
&#39;title&#39; => &#39;PHP基础语法考试题(二)&#39;,   
// 答题时限(秒数) 
&#39;timeout&#39; => 1200,   
// 题库   
&#39;data&#39; => [      
// 判断题 
&#39;binary&#39; => [       
          &#39;name&#39; => &#39;判断题&#39;, 
        // 题型名称
&#39;score&#39; => 24,     
        // 题型分数 
&#39;data&#39; => [          
          1 => [       
          &#39;question&#39; => &#39;在".php"后缀的文件中,所有的PHP代码都只能写在"<?php ?>"标记内。&#39;,               &#39;answer&#39; => &#39;no&#39;            ], 
        2=> [           
            &#39;question&#39; => &#39;标量类型包括布尔型、整型、字符串型和数组型。&#39;,               &#39;answer&#39; => &#39;no&#39;            ], 
        3=> [    
                  &#39;question&#39; => &#39;var_dump是PHP中用于打印变量或表达式的类型与值等相关信息的函数。&#39;,              
         &#39;answer&#39; => &#39;yes&#39;        
            ]        
         ]    
          ],      
        // 单选题  
&#39;single&#39; => [     
            &#39;name&#39; => &#39;单选题&#39;,         &#39;score&#39; => 40
        ,         &#39;data&#39; => [ 
                   1 => [               
        &#39;question&#39; => &#39;下列选项中,不区分大小写的标识符是( )。&#39;,               &#39;option&#39; => [                  &#39;函数名&#39;,&#39;常量名&#39;,&#39;变量名&#39;,&#39;属性名&#39;               ],               &#39;answer&#39; => &#39;A&#39;            ], 2=> [
Nach dem Login kopieren

2. Wie erhält man also die Testfragendaten? Importieren Sie einfach die Datei

$data=require "./data/1.php";
Nach dem Login kopieren

Beachten Sie, dass die obige Testfragendatei ein von return zurückgegebenes Array ist. Wenn wir die Datei importieren, weisen wir die Testfragen-Array-Daten direkt der Variablen $data zu , und bedienen Sie dann $ data, um die Fragenbankdaten anzuzeigen.

3. Variable Fragenbankdatei.

Alle Fragenbankdateien werden im Verzeichnis /data/ abgelegt. Jedes Testelement entspricht einer .php-Datei. Wenn Sie wissen möchten, wie viele Testdaten vorhanden sind. Es gibt PHP-Dateien, hier verwenden wir die Funktion glob() und der Code lautet wie folgt:

//统计题库目录下的“.php”文件个数,此处要求题库文件名必须是连续的数字$count = count(glob(&#39;./data/*.php&#39;));
Nach dem Login kopieren

Die Funktion glob() gibt ein Array von Dateilisten zurück. Das Dump-Ausgabeergebnis der Ausführung von glob(. )-Funktion lautet wie folgt:

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

Da die Dateinamen zum Speichern von Daten alle fortlaufende Nummern sind, was es für uns einfacher macht, Testfrageninformationen durch Schleifen zu lesen.

4. Nutzung anonymer Funktionen.

Eine anonyme Funktion ist eine Funktion ohne Funktionsnamen, die auch als Abschlussfunktion bezeichnet wird. Sie wird häufig verwendet, um den Wert von Funktionsparametern zu zerstören. Bei temporär definierten Funktionen ist die Verwendung anonymer Funktionen nicht erforderlich Frage zu Funktionsbenennungskonflikten. Die hier verwendete anonyme Funktion dient ausschließlich Übungszwecken. Wir können den folgenden Code auch in eine funktionale Funktion kapseln:

$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;};
Nach dem Login kopieren

Verwenden Sie die anonyme Funktion, um die Sonderzeichen der Testfragedaten rekursiv zu maskieren.

5. Escape-HTML-Sonderzeichen.

Wenn HTML-Tags in den Testfragen vorkommen, werden sie vom Browser analysiert und können nicht so ausgegeben werden, wie sie sind. Daher ist es notwendig, die HTML-Tags, die möglicherweise in der Frage vorhanden sind, mit Zeichen zu maskieren Der Code lautet wie folgt:

//HTML特殊字符转义function toHtml($str){    $str=htmlspecialchars($str,ENT_QUOTES);    return str_replace(&#39; &#39;,&#39; &#39;,$str);}
Nach dem Login kopieren

Hier verwenden wir die Funktion htmlspecialchars(), um mögliche Sonderzeichen zu maskieren, damit wir sie bei der Ausgabe in dem von uns gewünschten Format ausgeben können.

Die entsprechende htmlspecialchars()-Funktion kann Leerzeichen und Zeilenumbrüche nicht maskieren, Sie müssen die Funktion str_replace() verwenden, um sie direkt zu ersetzen. Für Zeilenumbrüche können Sie die Funktion nl2br verwenden.

6. return gibt zwei Wertformen zurück.

Der spezifische Code lautet wie folgt:

function getDataInfo($data){    $count = [];            //保存某种题型的题目数量    $score = [];            //每道题的分值    foreach ($data as $k=>$v) {        $count[$k]=count($v[&#39;data&#39;]);        $score[$k]=round($v[&#39;score&#39;]/$count[$k]);    }    return [$count,$score];         //使用list()接收返回值:list($count,$score);顺序依次对应}
Nach dem Login kopieren

Der Code verwendet schließlich return, um zwei Ergebnisvariablen zurückzugeben. Um diese beiden Rückgabewerte zu erhalten, müssen Sie list( verwenden. ), um eine Array-Zuweisung zu erhalten, weist Elemente im Array nacheinander Variablen zu.

7. Kapseln Sie die zu verwendenden Funktionen in funktionale Funktionen, um den Aufruf zu vereinfachen und Codeduplizierungen zu vermeiden.

Hier werden alle verwendeten Funktionen so weit wie möglich in Funktionen gekapselt. Führen Sie bei Verwendung einfach die Funktionsdatei ein, um die Verwaltung zu erleichtern und die Codenutzung zu verbessern.

8. Verwenden Sie Vorlagen

Nachdem Sie PHP zum Verarbeiten der Daten verwendet haben, verwenden Sie

//引入HTML模板require &#39;./view/index.html&#39;;
Nach dem Login kopieren

, um die HTML-Vorlage in die PHP-Datei einzuführen Vorlage, Wir können auch PHP-Tags einfügen, um die gewünschten Daten auszugeben und die Daten dynamisch anzuzeigen.

在线考试系统请选择题库$v): ?>
         时间:分钟 总分:分开始考试
Nach dem Login kopieren

Eine Variable direkt ausgeben:

Schleife zur Ausgabe einer Reihe von Variablen: $ v) : ?>~~~~~~

9. :?

当做一些简单的判断输出时,使用三元运算符: ?可以大大的提升效率,简化代码。

<!-- 答题情况 --><td><?=$v ? &#39;对&#39; : &#39;错&#39;?></td><!-- 得分 --><td><?=$v ? $score[$type] : 0?></td>
Nach dem Login kopieren

上述代码中,$v是一个bool值,通过三元运算符我们可以省略一大堆if判断,使代码看上去更加整洁。

10、页面中的计时倒计时、关闭页面提示、未做考题提交提示、考试时间结束自动交卷功能是通过jQuery、javascript来实现的,这里不作说明。

程序源码下载地址:

http://www.seoalphas.com/data/upload/ueditor/20170629/595494a1f01ea.rar

注:php中文网提供大量免费、原创、高清的php视频教程,并且会定期举行php公益培训

Das obige ist der detaillierte Inhalt vonOnline-Prüfungstrainingssystem für die PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich Memcache in der PHP-Entwicklung? Wie verwende ich Memcache in der PHP-Entwicklung? Nov 07, 2023 pm 12:49 PM

Bei der Webentwicklung müssen wir häufig Caching-Technologie verwenden, um die Leistung und Reaktionsgeschwindigkeit der Website zu verbessern. Memcache ist eine beliebte Caching-Technologie, die jeden Datentyp zwischenspeichern kann und hohe Parallelität und hohe Verfügbarkeit unterstützt. In diesem Artikel wird die Verwendung von Memcache in der PHP-Entwicklung vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Memcache installieren Um Memcache verwenden zu können, müssen wir zunächst die Memcache-Erweiterung auf dem Server installieren. Im CentOS-Betriebssystem können Sie den folgenden Befehl verwenden

Wie implementiert man mit C++ ein einfaches Online-Prüfungssystem? Wie implementiert man mit C++ ein einfaches Online-Prüfungssystem? Nov 03, 2023 pm 06:00 PM

Wie implementiert man mit C++ ein einfaches Online-Prüfungssystem? Mit der rasanten Entwicklung der Netzwerktechnologie und der Informatik haben Online-Bildung und Fernunterricht immer mehr Aufmerksamkeit auf sich gezogen. Online-Prüfungssysteme sind für Bildungseinrichtungen und Unternehmen zu einem wichtigen Instrument zur Beurteilung der Fähigkeiten von Studierenden und Mitarbeitern geworden. In diesem Artikel wird erläutert, wie Sie mit der Programmiersprache C++ ein einfaches Online-Prüfungssystem implementieren. Zunächst müssen wir einige grundlegende Konzepte und Datenstrukturen definieren. Das Online-Prüfungssystem umfasst hauptsächlich drei Haupteinheiten: Testfragen, Kandidaten und Prüfungen. Wir können C++ verwenden

Wie man mit Laravel ein Online-Prüfungssystem entwickelt Wie man mit Laravel ein Online-Prüfungssystem entwickelt Nov 02, 2023 pm 02:20 PM

So verwenden Sie Laravel zur Entwicklung eines Online-Prüfungssystems Einführung: Mit der rasanten Entwicklung des Internets werden Online-Prüfungssysteme zunehmend von Schulen, Unternehmen, Institutionen und Ausbildungseinrichtungen bevorzugt. Das Online-Prüfungssystem erleichtert nicht nur den Prüflingen, sondern verbessert auch die Prüfungseffizienz und kann den Verbrauch von Papiermaterialien während des Prüfungsprozesses reduzieren. In diesem Artikel wird erläutert, wie Sie mit dem Laravel-Framework ein einfaches und praktisches Online-Prüfungssystem entwickeln. 1. Anforderungen an die Projektvorbereitungsumgebung: PHP&gt;=7.2, Composer, MySQL

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Wie man mit PHP eine Online-Nachhilfeplattform entwickelt Wie man mit PHP eine Online-Nachhilfeplattform entwickelt Oct 28, 2023 am 09:01 AM

So verwenden Sie PHP zur Entwicklung einer Online-Nachhilfedienstplattform Mit der rasanten Entwicklung des Internets haben Online-Nachhilfedienstplattformen immer mehr Aufmerksamkeit und Nachfrage auf sich gezogen. Eltern und Schüler können über eine solche Plattform leicht geeignete Nachhilfelehrer finden, außerdem können Nachhilfelehrer ihre pädagogischen Fähigkeiten und Vorteile besser unter Beweis stellen. In diesem Artikel wird erläutert, wie Sie mit PHP eine Plattform für Online-Nachhilfedienste entwickeln. Zunächst müssen wir die funktionalen Anforderungen der Plattform klären. Eine Online-Nachhilfeplattform muss über die folgenden Grundfunktionen verfügen: Registrierungs- und Login-System: Benutzer können

Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Nov 02, 2023 pm 01:35 PM

Wie implementiert man Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung? Mit der rasanten Entwicklung der Internet- und Softwareindustrie sind Versionskontrolle und Code-Zusammenarbeit in der Softwareentwicklung immer wichtiger geworden. Unabhängig davon, ob Sie ein unabhängiger Entwickler oder ein Entwicklungsteam sind, benötigen Sie ein effektives Versionskontrollsystem, um Codeänderungen zu verwalten und zusammenzuarbeiten. Bei der PHP-Entwicklung stehen mehrere häufig verwendete Versionskontrollsysteme zur Auswahl, beispielsweise Git und SVN. In diesem Artikel wird erläutert, wie Sie diese Tools zur Versionskontrolle und Code-Zusammenarbeit in der PHP-Entwicklung verwenden. Der erste Schritt besteht darin, das für Sie passende auszuwählen

Wie entwickle ich mit PHP die Coupon-Funktion des Bestellsystems? Wie entwickle ich mit PHP die Coupon-Funktion des Bestellsystems? Nov 01, 2023 pm 04:41 PM

Wie entwickle ich mit PHP die Coupon-Funktion des Bestellsystems? Mit der rasanten Entwicklung der modernen Gesellschaft wird das Lebenstempo der Menschen immer schneller und immer mehr Menschen entscheiden sich dafür, auswärts zu essen. Das Aufkommen des Bestellsystems hat die Effizienz und den Komfort der Kundenbestellung erheblich verbessert. Als Marketinginstrument zur Kundengewinnung ist die Coupon-Funktion auch in verschiedenen Bestellsystemen weit verbreitet. Wie kann man also PHP verwenden, um die Coupon-Funktion des Bestellsystems zu entwickeln? 1. Datenbankdesign Zunächst müssen wir eine Datenbank zum Speichern von Gutscheindaten entwerfen. Es wird empfohlen, zwei Tabellen zu erstellen: eine

Wie entwickle ich mit PHP die Mitgliederpunktefunktion des Lebensmitteleinkaufssystems? Wie entwickle ich mit PHP die Mitgliederpunktefunktion des Lebensmitteleinkaufssystems? Nov 01, 2023 am 10:30 AM

Wie entwickle ich mit PHP die Mitgliederpunktefunktion des Lebensmitteleinkaufssystems? Mit dem Aufstieg des E-Commerce entscheiden sich immer mehr Menschen dafür, Dinge des täglichen Bedarfs online einzukaufen, darunter auch den Lebensmitteleinkauf. Das Lebensmitteleinkaufssystem ist für viele Menschen zur ersten Wahl geworden, und eines seiner wichtigen Merkmale ist das Mitgliedspunktesystem. Das Mitgliedschaftspunktesystem kann Nutzer anlocken und ihre Loyalität erhöhen und ihnen gleichzeitig ein zusätzliches Einkaufserlebnis bieten. In diesem Artikel besprechen wir, wie man mit PHP die Mitgliedschaftspunktefunktion des Lebensmitteleinkaufssystems entwickelt. Zuerst müssen wir eine Mitgliedertabelle erstellen, um Benutzer zu speichern