système de formation aux examens en ligne de développement php
Système de formation aux examens en ligne pour le développement php
Remarque : cet article vise à enregistrer des idées et des procédures d'apprentissage et de développement. n'a aucune valeur commerciale. Comprendre les idées de développement. L'utilisation commerciale nécessite une deuxième mise à niveau !
(Apprentissage recommandé : formation php)
Le rendu est le suivant :
Question affichage de la page d'accueil de la banque
Test en ligne des questions du test
Statistiques de score
Le but de ce petit projet consiste à mettre en pratique les bases de PHP Knowledge, grâce à des opérations sur les tableaux, les informations sur les questions de test sont stockées et chargées, et des fichiers modèles sont introduits pour réaliser la disposition des appels des données des questions de test.
1. Le petit projet n'utilisant pas de base de données, les questions du test sont stockées dans le fichier PHP sous forme de tableaux :
Remarque : Le code ci-dessous est un chaos très complexe. . Vous pouvez télécharger le code source du programme à la fin de l'article et le consulter dans cet article de blog.
<?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. Alors, comment obtenir les données des questions du test ? Importez simplement le fichier
$data=require "./data/1.php";
Notez que le fichier de questions de test ci-dessus est un tableau renvoyé par return Lorsque nous importons le fichier, nous attribuons directement les données du tableau de questions de test à la variable $data. , puis utilisez $ data pour afficher les données de la banque de questions.
3. Fichier de banque de questions variables.
Tous les fichiers de la banque de questions sont placés dans le répertoire /data/ Chaque élément de test correspond à un fichier .php Si vous voulez savoir combien de données de test il y a, c'est-à-dire combien. php il y a, ici nous La fonction glob() est utilisée, et le code est le suivant :
//统计题库目录下的“.php”文件个数,此处要求题库文件名必须是连续的数字$count = count(glob('./data/*.php'));
La fonction glob() renvoie un tableau de listes de fichiers Le résultat du dump de l'exécution de glob(. ) est la suivante :
array(3) { [0]=> string(12) "./data/1.php" [1]=> string(12) "./data/2.php" [2]=> string(12) "./data/3.php"}
Parce que les noms de fichiers pour stocker les données sont tous des nombres consécutifs, ce qui nous permet de lire plus facilement les informations des questions de test à travers des boucles.
4. Utilisation de fonctions anonymes.
Une fonction anonyme est une fonction sans nom de fonction, également appelée fonction de fermeture. Elle est souvent utilisée pour détruire la valeur des paramètres de fonction. Pour les fonctions définies temporairement, l'utilisation de fonctions anonymes ne nécessite pas de prise en compte. question de noms de fonctions. La fonction anonyme utilisée ici est uniquement à des fins pratiques. Nous pouvons également encapsuler le code suivant dans une fonction fonctionnelle :
$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;};
Utilisez la fonction anonyme pour échapper récursivement les caractères spéciaux des données de la question de test.
5. Échapper aux caractères spéciaux HTML.
Si des balises HTML apparaissent dans les questions du test, elles seront analysées par le navigateur et ne pourront pas être affichées telles quelles. Par conséquent, il est nécessaire d'échapper les caractères aux balises HTML qui peuvent exister dans la question. bank. Le code est le suivant :
//HTML特殊字符转义function toHtml($str){ $str=htmlspecialchars($str,ENT_QUOTES); return str_replace(' ',' ',$str);}
Ici, nous utilisons la fonction htmlspecialchars() pour échapper aux éventuels caractères spéciaux, afin que lors de la sortie, nous puissions le sortir dans le format souhaité.
La fonction htmlspecialchars() correspondante ne peut pas échapper aux espaces et aux nouvelles lignes. Pour échapper aux espaces, vous devez utiliser la fonction str_replace() pour les remplacer directement. Pour les nouvelles lignes, vous pouvez utiliser la fonction nl2br.
6. return renvoie deux formes de valeur.
Le code spécifique est le suivant :
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);顺序依次对应}
Le code utilise enfin return pour renvoyer deux variables de résultat. Pour recevoir ces deux valeurs de retour, vous devez utiliser list(. ) pour recevoir une affectation de tableau, affecte les éléments du tableau aux variables dans l'ordre.
7. Encapsulez les fonctions à utiliser dans des fonctions fonctionnelles pour un appel facile et évitez la duplication de code.
Ici, toutes les fonctions utilisées sont encapsulées dans des fonctions autant que possible. Lorsqu'elles sont utilisées, il suffit d'introduire le fichier de fonction pour faciliter la gestion et améliorer l'utilisation du code.
8. Utiliser des modèles
Après avoir utilisé PHP pour traiter les données, utilisez
//引入HTML模板require './view/index.html';
pour introduire le modèle HTML dans le fichier PHP. modèle, nous pouvons également insérer des balises PHP pour générer les données souhaitées et afficher les données de manière dynamique.
在线考试系统请选择题库$v): ?> 时间:分钟 总分:分开始考试
Sortez directement une variable : =$value?>
Boucle pour générer un ensemble de variables : $ v) : ?>~~~~~~~
9. Faites attention à l'utilisation de l'opérateur ternaire. :?
当做一些简单的判断输出时,使用三元运算符: ?可以大大的提升效率,简化代码。
<!-- 答题情况 --><td><?=$v ? '对' : '错'?></td><!-- 得分 --><td><?=$v ? $score[$type] : 0?></td>
上述代码中,$v是一个bool值,通过三元运算符我们可以省略一大堆if判断,使代码看上去更加整洁。
10、页面中的计时倒计时、关闭页面提示、未做考题提交提示、考试时间结束自动交卷功能是通过jQuery、javascript来实现的,这里不作说明。
程序源码下载地址:
http://www.seoalphas.com/data/upload/ueditor/20170629/595494a1f01ea.rar
注:php中文网提供大量免费、原创、高清的php视频教程,并且会定期举行php公益培训!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Avec le développement rapide d'Internet et la demande croissante d'échange d'informations, les sites de forum sont devenus une plate-forme sociale en ligne courante. Développer votre propre site Web de forum peut non seulement répondre à vos propres besoins personnalisés, mais également fournir une plate-forme de communication et de partage, bénéficiant à un plus grand nombre de personnes. Cet article vous apprendra étape par étape comment utiliser PHP pour développer votre propre site Web de forum. J'espère qu'il sera utile aux débutants. Tout d’abord, nous devons clarifier certains concepts et préparatifs de base. PHP (HypertextPreproces

Dans le développement Web, nous devons souvent utiliser une technologie de mise en cache pour améliorer les performances du site Web et la vitesse de réponse. Memcache est une technologie de mise en cache populaire qui peut mettre en cache n'importe quel type de données et prend en charge une simultanéité élevée et une haute disponibilité. Cet article explique comment utiliser Memcache dans le développement PHP et fournit des exemples de code spécifiques. 1. Installer Memcache Pour utiliser Memcache, nous devons d'abord installer l'extension Memcache sur le serveur. Dans le système d'exploitation CentOS, vous pouvez utiliser la commande suivante

Comment utiliser C++ pour implémenter un système d’examen en ligne simple ? Avec le développement rapide de la technologie des réseaux et de l’informatique, l’éducation en ligne et l’apprentissage à distance attirent de plus en plus d’attention. Les systèmes d'examen en ligne sont devenus un outil important permettant aux établissements d'enseignement et aux entreprises d'évaluer les capacités des étudiants et des employés. Cet article explique comment utiliser le langage de programmation C++ pour mettre en œuvre un système d'examen en ligne simple. Tout d’abord, nous devons définir quelques concepts de base et structures de données. Le système d'examen en ligne comprend principalement trois entités principales : les questions de test, les candidats et les examens. Nous pouvons utiliser C++

Comment utiliser Laravel pour développer un système d'examen en ligne Introduction : Avec le développement rapide d'Internet, les systèmes d'examen en ligne sont de plus en plus favorisés par les écoles, les entreprises, les institutions et les établissements de formation. Le système d'examen en ligne facilite non seulement la tâche des candidats, mais améliore également l'efficacité de l'examen et peut réduire la consommation de papier pendant le processus d'examen. Cet article expliquera comment utiliser le framework Laravel pour développer un système d'examen en ligne simple et pratique. 1. Exigences en matière d'environnement de préparation de projet : PHP>=7.2, Composer, MySQL

Comment améliorer le classement des moteurs de recherche grâce au développement du cache PHP Introduction : À l'ère numérique d'aujourd'hui, le classement d'un site Web dans les moteurs de recherche est crucial pour le trafic et l'exposition du site Web. Afin d’améliorer le classement du site Web, une stratégie importante consiste à réduire le temps de chargement du site Web grâce à la mise en cache. Dans cet article, nous explorerons comment améliorer le classement des moteurs de recherche en développant la mise en cache avec PHP et fournirons des exemples de code concrets. 1. Le concept de mise en cache La mise en cache est une technologie qui stocke les données dans un stockage temporaire afin qu'elles puissent être rapidement récupérées et réutilisées. pour le filet

Comment utiliser PHP pour développer la fonction de points membres du système d'épicerie ? Avec l’essor du commerce électronique, de plus en plus de personnes choisissent d’acheter des produits de première nécessité en ligne, y compris leurs courses alimentaires. Le système d'épicerie est devenu le premier choix pour de nombreuses personnes, et l'une de ses caractéristiques importantes est le système de points d'adhésion. Le système de points d'adhésion peut attirer les utilisateurs et accroître leur fidélité, tout en offrant aux utilisateurs une expérience d'achat supplémentaire. Dans cet article, nous verrons comment utiliser PHP pour développer la fonction de points d'adhésion du système d'épicerie. Tout d'abord, nous devons créer une table d'adhésion pour stocker les utilisateurs

Comment utiliser PHP pour développer une plateforme de services de tutorat en ligne Avec le développement rapide d'Internet, les plateformes de services de tutorat en ligne ont attiré de plus en plus l'attention et la demande. Les parents et les étudiants peuvent facilement trouver des tuteurs appropriés grâce à une telle plateforme, et les tuteurs peuvent également mieux démontrer leurs capacités et avantages pédagogiques. Cet article explique comment utiliser PHP pour développer une plateforme de services de tutorat en ligne. Tout d’abord, nous devons clarifier les exigences fonctionnelles de la plateforme. Une plateforme de services de tutorat en ligne doit avoir les fonctions de base suivantes : Système d'inscription et de connexion : les utilisateurs peuvent

Comment implémenter le contrôle de version et la collaboration de code dans le développement PHP ? Avec le développement rapide d'Internet et de l'industrie du logiciel, le contrôle de version et la collaboration en matière de code dans le développement de logiciels sont devenus de plus en plus importants. Que vous soyez un développeur indépendant ou une équipe de développement, vous avez besoin d'un système de contrôle de version efficace pour gérer les modifications de code et collaborer. Dans le développement PHP, il existe plusieurs systèmes de contrôle de version couramment utilisés, tels que Git et SVN. Cet article expliquera comment utiliser ces outils pour le contrôle de version et la collaboration de code dans le développement PHP. La première étape est de choisir celui qui vous convient