3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); abstract class Question { public $text; // текст вопроса public $points = 5; // число баллов, по умолчанию 5 public $hint; // подсказка abstract function checkQuestionAndAnswer($question, $answer); } class ChoiceQuestion extends Question { public $options; // варианты ответа public $correctOption; // правильный вариант public function checkQuestionAndAnswer($question, $answer) { if (isset($this->correctOption)) { if ($this->correctOption == $answer) { return true; } else { return false; } } } } class NumericQuestion extends Question { public $correctAnswer; // правильный ответ //public $deviation; // допустимая погрешность public function checkQuestionAndAnswer($question, $answer) { if (isset($this->correctAnswer)) { if ($this->correctAnswer == $answer) { return true; } else { return false; } } } } // Функция, создающая массив с вопросами: function createQuestions() { // Создаем пустой массив $questions = []; // Вопрос 1 $q1 = new ChoiceQuestion; $q1->text = "Какая планета располагается четвертой по счету от Солнца?"; $q1->points = 10; // 10 баллов за ответ $q1->options = array('a' => 'Венера', 'b' => 'Марс', 'c' => 'Юпитер', 'd' => 'Меркурий'); // Варианты ответа $q1->correctOption = 'b'; // Правильный ответ $q1->hint = 'Сникерс'; // Подсказка $questions[] = $q1; // Вопрос 2 $q2 = new ChoiceQuestion; $q2->text = 'Какой город является столицей Великобритании?'; $q2->points = 5; $q2->options = array('a' => 'Париж', 'b' => 'Москва', 'c' => 'Нью-Йорк', 'd' => 'Лондон'); $q2->correctOption = 'd'; $q2->hint = 'London is the capital of Great Britain'; // Подсказка $questions[] = $q2; // Вопрос 3 $q3 = new ChoiceQuestion; $q3->text = 'Кто придумал теорию относительности?'; $q3->points = 30; $q3->options = array('a' => 'Джон Леннон', 'b' => 'Джим Моррисон', 'c' => 'Альберт Эйнштейн', 'd' => 'Исаак Ньютон'); $q3->correctOption = 'c'; $q3->hint = 'Какой-то еврей... Подождите... Ох, нет...'; // Подсказка $questions[] = $q3; // Вопрос 4 - с выбором цифры $q4 = new NumericQuestion; $q4->text = 'Напишите число Пи до тысячных или хотя бы сотых.'; $q4->points = 30; $q4->correctAnswer = 3.14; $q4->hint = 'Это 3,14здец какой-то...'; // Подсказка $questions[] = $q4; return $questions; } function checkAnswers($questions, $answers) { if (count($questions) != count($answers)) { die("Число ответов и вопросов не совпадает\n"); } $number = 0; $pointsTotal = 0; // сколько набрано баллов $pointsMax = 0; // сколько можно набрать баллов при всех правильных ответах $correctAnswers = 0; // сколько отвечено верно $totalQuestions = count($questions); // Сколько всего вопросов // Если ответ из массива $answers и правильный ответ для соответствующего вопроса совпадают - плюсуются $correctAnswers, $pointsTotal for ($i = 0; $i < count($questions); $i++) { $number = $i + 1; $pointsMax += $questions[$i]->points; if ($questions[$i]->checkQuestionAndAnswer($questions[$i], $answers[$i]) == true) { echo "Ответ на вопрос {$number} правильный\n\n"; $correctAnswers++; $pointsTotal += $questions[$i]->points; } else { echo "Ответ на вопрос {$number} НЕправильный\n Подсказка: {$questions[$i]->hint}\n\n"; } } echo "Всего набрано баллов $pointsTotal из $pointsMax.\n Всего правильных ответов: $correctAnswers.\n Всего было вопросов: $totalQuestions\n"; } function printQuestions($questions) { $number = 1; // номер вопроса foreach ($questions as $question) { echo "\n{$number}. {$question->text}\n\n"; if (isset($question->options)) { echo "Варианты ответов:\n"; foreach ($question->options as $letter => $answer) { echo " {$letter}. {$answer}\n"; } } $number++; } } $questions = createQuestions(); $answers = array('b', 'd', 'a', 1); printQuestions($questions); checkAnswers($questions, $answers);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rsbB5
function name:  (null)
number of ops:  15
compiled vars:  !0 = $questions, !1 = $answers
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 -1
          2        DO_ICALL                                                 
  134     3        INIT_FCALL                                               'createquestions'
          4        DO_FCALL                                      0  $3      
          5        ASSIGN                                                   !0, $3
  135     6        ASSIGN                                                   !1, <array>
  136     7        INIT_FCALL                                               'printquestions'
          8        SEND_VAR                                                 !0
          9        DO_FCALL                                      0          
  137    10        INIT_FCALL                                               'checkanswers'
         11        SEND_VAR                                                 !0
         12        SEND_VAR                                                 !1
         13        DO_FCALL                                      0          
         14      > RETURN                                                   1

Function createquestions:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rsbB5
function name:  createQuestions
number of ops:  61
compiled vars:  !0 = $questions, !1 = $q1, !2 = $q2, !3 = $q3, !4 = $q4
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   53     0  E >   ASSIGN                                                   !0, <array>
   55     1        NEW                                              $6      'ChoiceQuestion'
          2        DO_FCALL                                      0          
          3        ASSIGN                                                   !1, $6
   56     4        ASSIGN_OBJ                                               !1, 'text'
          5        OP_DATA                                                  '%D0%9A%D0%B0%D0%BA%D0%B0%D1%8F+%D0%BF%D0%BB%D0%B0%D0%BD%D0%B5%D1%82%D0%B0+%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%BB%D0%B0%D0%B3%D0%B0%D0%B5%D1%82%D1%81%D1%8F+%D1%87%D0%B5%D1%82%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D0%B9+%D0%BF%D0%BE+%D1%81%D1%87%D0%B5%D1%82%D1%83+%D0%BE%D1%82+%D0%A1%D0%BE%D0%BB%D0%BD%D1%86%D0%B0%3F'
   57     6        ASSIGN_OBJ                                               !1, 'points'
          7        OP_DATA                                                  10
   58     8        ASSIGN_OBJ                                               !1, 'options'
          9        OP_DATA                                                  <array>
   59    10        ASSIGN_OBJ                                               !1, 'correctOption'
         11        OP_DATA                                                  'b'
   60    12        ASSIGN_OBJ                                               !1, 'hint'
         13        OP_DATA                                                  '%D0%A1%D0%BD%D0%B8%D0%BA%D0%B5%D1%80%D1%81'
   61    14        ASSIGN_DIM                                               !0
         15        OP_DATA                                                  !1
   63    16        NEW                                              $15     'ChoiceQuestion'
         17        DO_FCALL                                      0          
         18        ASSIGN                                                   !2, $15
   64    19        ASSIGN_OBJ                                               !2, 'text'
         20        OP_DATA                                                  '%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9+%D0%B3%D0%BE%D1%80%D0%BE%D0%B4+%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F+%D1%81%D1%82%D0%BE%D0%BB%D0%B8%D1%86%D0%B5%D0%B9+%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B1%D1%80%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B8%3F'
   65    21        ASSIGN_OBJ                                               !2, 'points'
         22        OP_DATA                                                  5
   66    23        ASSIGN_OBJ                                               !2, 'options'
         24        OP_DATA                                                  <array>
   67    25        ASSIGN_OBJ                                               !2, 'correctOption'
         26        OP_DATA                                                  'd'
   68    27        ASSIGN_OBJ                                               !2, 'hint'
         28        OP_DATA                                                  'London+is+the+capital+of+Great+Britain'
   69    29        ASSIGN_DIM                                               !0
         30        OP_DATA                                                  !2
   71    31        NEW                                              $24     'ChoiceQuestion'
         32        DO_FCALL                                      0          
         33        ASSIGN                                                   !3, $24
   72    34        ASSIGN_OBJ                                               !3, 'text'
         35        OP_DATA                                                  '%D0%9A%D1%82%D0%BE+%D0%BF%D1%80%D0%B8%D0%B4%D1%83%D0%BC%D0%B0%D0%BB+%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D1%8E+%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8%3F'
   73    36        ASSIGN_OBJ                                               !3, 'points'
         37        OP_DATA                                                  30
   74    38        ASSIGN_OBJ                                               !3, 'options'
         39        OP_DATA                                                  <array>
   75    40        ASSIGN_OBJ                                               !3, 'correctOption'
         41        OP_DATA                                                  'c'
   76    42        ASSIGN_OBJ                                               !3, 'hint'
         43        OP_DATA                                                  '%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9-%D1%82%D0%BE+%D0%B5%D0%B2%D1%80%D0%B5%D0%B9...+%D0%9F%D0%BE%D0%B4%D0%BE%D0%B6%D0%B4%D0%B8%D1%82%D0%B5...+%D0%9E%D1%85%2C+%D0%BD%D0%B5%D1%82...'
   77    44        ASSIGN_DIM                                               !0
         45        OP_DATA                                                  !3
   79    46        NEW                                              $33     'NumericQuestion'
         47        DO_FCALL                                      0          
         48        ASSIGN                                                   !4, $33
   80    49        ASSIGN_OBJ                                               !4, 'text'
         50        OP_DATA                                                  '%D0%9D%D0%B0%D0%BF%D0%B8%D1%88%D0%B8%D1%82%D0%B5+%D1%87%D0%B8%D1%81%D0%BB%D0%BE+%D0%9F%D0%B8+%D0%B4%D0%BE+%D1%82%D1%8B%D1%81%D1%8F%D1%87%D0%BD%D1%8B%D1%85+%D0%B8%D0%BB%D0%B8+%D1%85%D0%BE%D1%82%D1%8F+%D0%B1%D1%8B+%D1%81%D0%BE%D1%82%D1%8B%D1%85.'
   81    51        ASSIGN_OBJ                                               !4, 'points'
         52        OP_DATA                                                  30
   82    53        ASSIGN_OBJ                                               !4, 'correctAnswer'
         54        OP_DATA                                                  3.14
   83    55        ASSIGN_OBJ                                               !4, 'hint'
         56        OP_DATA                                                  '%D0%AD%D1%82%D0%BE+3%2C14%D0%B7%D0%B4%D0%B5%D1%86+%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9-%D1%82%D0%BE...'
   84    57        ASSIGN_DIM                                               !0
         58        OP_DATA                                                  !4
   85    59      > RETURN                                                   !0
   86    60*     > RETURN                                                   null

End of function createquestions

Function checkanswers:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 7
Branch analysis from position: 6
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 49
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 15
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 40
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 48
Branch analysis from position: 48
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 15
Branch analysis from position: 52
Branch analysis from position: 15
Branch analysis from position: 40
2 jumps found. (Code = 44) Position 1 = 52, Position 2 = 15
Branch analysis from position: 52
Branch analysis from position: 15
filename:       /in/rsbB5
function name:  checkAnswers
number of ops:  63
compiled vars:  !0 = $questions, !1 = $answers, !2 = $number, !3 = $pointsTotal, !4 = $pointsMax, !5 = $correctAnswers, !6 = $totalQuestions, !7 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   88     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   90     2        COUNT                                            ~8      !0
          3        COUNT                                            ~9      !1
          4        IS_NOT_EQUAL                                             ~8, ~9
          5      > JMPZ                                                     ~10, ->7
   91     6    > > EXIT                                                     '%D0%A7%D0%B8%D1%81%D0%BB%D0%BE+%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2+%D0%B8+%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2+%D0%BD%D0%B5+%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B0%D0%B5%D1%82%0A'
   93     7    >   ASSIGN                                                   !2, 0
   94     8        ASSIGN                                                   !3, 0
   95     9        ASSIGN                                                   !4, 0
   96    10        ASSIGN                                                   !5, 0
   97    11        COUNT                                            ~15     !0
         12        ASSIGN                                                   !6, ~15
  101    13        ASSIGN                                                   !7, 0
         14      > JMP                                                      ->49
  102    15    >   ADD                                              ~18     !7, 1
         16        ASSIGN                                                   !2, ~18
  103    17        FETCH_DIM_R                                      ~20     !0, !7
         18        FETCH_OBJ_R                                      ~21     ~20, 'points'
         19        ASSIGN_OP                                     1          !4, ~21
  104    20        FETCH_DIM_R                                      ~23     !0, !7
         21        INIT_METHOD_CALL                                         ~23, 'checkQuestionAndAnswer'
         22        CHECK_FUNC_ARG                                           
         23        FETCH_DIM_FUNC_ARG                               $24     !0, !7
         24        SEND_FUNC_ARG                                            $24
         25        CHECK_FUNC_ARG                                           
         26        FETCH_DIM_FUNC_ARG                               $25     !1, !7
         27        SEND_FUNC_ARG                                            $25
         28        DO_FCALL                                      0  $26     
         29        BOOL                                             ~27     $26
         30      > JMPZ                                                     ~27, ->40
  105    31    >   ROPE_INIT                                     3  ~29     '%D0%9E%D1%82%D0%B2%D0%B5%D1%82+%D0%BD%D0%B0+%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81+'
         32        ROPE_ADD                                      1  ~29     ~29, !2
         33        ROPE_END                                      2  ~28     ~29, '+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%0A%0A'
         34        ECHO                                                     ~28
  106    35        PRE_INC                                                  !5
  107    36        FETCH_DIM_R                                      ~32     !0, !7
         37        FETCH_OBJ_R                                      ~33     ~32, 'points'
         38        ASSIGN_OP                                     1          !3, ~33
  104    39      > JMP                                                      ->48
  109    40    >   ROPE_INIT                                     5  ~38     '%D0%9E%D1%82%D0%B2%D0%B5%D1%82+%D0%BD%D0%B0+%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81+'
         41        ROPE_ADD                                      1  ~38     ~38, !2
         42        ROPE_ADD                                      2  ~38     ~38, '+%D0%9D%D0%95%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%0A+%D0%9F%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%BA%D0%B0%3A+'
         43        FETCH_DIM_R                                      ~35     !0, !7
         44        FETCH_OBJ_R                                      ~36     ~35, 'hint'
         45        ROPE_ADD                                      3  ~38     ~38, ~36
         46        ROPE_END                                      4  ~37     ~38, '%0A%0A'
         47        ECHO                                                     ~37
  101    48    >   PRE_INC                                                  !7
         49    >   COUNT                                            ~42     !0
         50        IS_SMALLER                                               !7, ~42
         51      > JMPNZ                                                    ~43, ->15
  114    52    >   ROPE_INIT                                     9  ~45     '%D0%92%D1%81%D0%B5%D0%B3%D0%BE+%D0%BD%D0%B0%D0%B1%D1%80%D0%B0%D0%BD%D0%BE+%D0%B1%D0%B0%D0%BB%D0%BB%D0%BE%D0%B2+'
         53        ROPE_ADD                                      1  ~45     ~45, !3
         54        ROPE_ADD                                      2  ~45     ~45, '+%D0%B8%D0%B7+'
         55        ROPE_ADD                                      3  ~45     ~45, !4
         56        ROPE_ADD                                      4  ~45     ~45, '.%0A+%D0%92%D1%81%D0%B5%D0%B3%D0%BE+%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85+%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%3A+'
         57        ROPE_ADD                                      5  ~45     ~45, !5
         58        ROPE_ADD                                      6  ~45     ~45, '.%0A+%D0%92%D1%81%D0%B5%D0%B3%D0%BE+%D0%B1%D1%8B%D0%BB%D0%BE+%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2%3A++'
         59        ROPE_ADD                                      7  ~45     ~45, !6
         60        ROPE_END                                      8  ~44     ~45, '%0A'
         61        ECHO                                                     ~44
  115    62      > RETURN                                                   null

End of function checkanswers

Function printquestions:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 28
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 28
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 26
Branch analysis from position: 13
2 jumps found. (Code = 77) Position 1 = 16, Position 2 = 25
Branch analysis from position: 16
2 jumps found. (Code = 78) Position 1 = 17, Position 2 = 25
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 16
Branch analysis from position: 16
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 25
Branch analysis from position: 26
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
filename:       /in/rsbB5
function name:  printQuestions
number of ops:  30
compiled vars:  !0 = $questions, !1 = $number, !2 = $question, !3 = $answer, !4 = $letter
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  117     0  E >   RECV                                             !0      
  119     1        ASSIGN                                                   !1, 1
  121     2      > FE_RESET_R                                       $6      !0, ->28
          3    > > FE_FETCH_R                                               $6, !2, ->28
  122     4    >   ROPE_INIT                                     5  ~9      '%0A'
          5        ROPE_ADD                                      1  ~9      ~9, !1
          6        ROPE_ADD                                      2  ~9      ~9, '.+'
          7        FETCH_OBJ_R                                      ~7      !2, 'text'
          8        ROPE_ADD                                      3  ~9      ~9, ~7
          9        ROPE_END                                      4  ~8      ~9, '%0A%0A'
         10        ECHO                                                     ~8
  123    11        ISSET_ISEMPTY_PROP_OBJ                                   !2, 'options'
         12      > JMPZ                                                     ~12, ->26
  124    13    >   ECHO                                                     '%D0%92%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B+%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%3A%0A'
  126    14        FETCH_OBJ_R                                      ~13     !2, 'options'
         15      > FE_RESET_R                                       $14     ~13, ->25
         16    > > FE_FETCH_R                                       ~15     $14, !3, ->25
         17    >   ASSIGN                                                   !4, ~15
  127    18        ROPE_INIT                                     5  ~18     '++'
         19        ROPE_ADD                                      1  ~18     ~18, !4
         20        ROPE_ADD                                      2  ~18     ~18, '.+'
         21        ROPE_ADD                                      3  ~18     ~18, !3
         22        ROPE_END                                      4  ~17     ~18, '%0A'
         23        ECHO                                                     ~17
  126    24      > JMP                                                      ->16
         25    >   FE_FREE                                                  $14
  130    26    >   PRE_INC                                                  !1
  121    27      > JMP                                                      ->3
         28    >   FE_FREE                                                  $6
  132    29      > RETURN                                                   null

End of function printquestions

Class Question:
Function checkquestionandanswer:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rsbB5
function name:  checkQuestionAndAnswer
number of ops:  3
compiled vars:  !0 = $question, !1 = $answer
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   11     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2      > RETURN                                                   null

End of function checkquestionandanswer

End of class Question.

Class ChoiceQuestion:
Function checkquestionandanswer:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rsbB5
function name:  checkQuestionAndAnswer
number of ops:  11
compiled vars:  !0 = $question, !1 = $answer
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   21     2        ISSET_ISEMPTY_PROP_OBJ                                   'correctOption'
          3      > JMPZ                                                     ~2, ->10
   22     4    >   FETCH_OBJ_R                                      ~3      'correctOption'
          5        IS_EQUAL                                                 !1, ~3
          6      > JMPZ                                                     ~4, ->9
   23     7    > > RETURN                                                   <true>
   22     8*       JMP                                                      ->10
   25     9    > > RETURN                                                   <false>
   29    10    > > RETURN                                                   null

End of function checkquestionandanswer

End of class ChoiceQuestion.

Class NumericQuestion:
Function checkquestionandanswer:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/rsbB5
function name:  checkQuestionAndAnswer
number of ops:  11
compiled vars:  !0 = $question, !1 = $answer
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   37     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   39     2        ISSET_ISEMPTY_PROP_OBJ                                   'correctAnswer'
          3      > JMPZ                                                     ~2, ->10
   40     4    >   FETCH_OBJ_R                                      ~3      'correctAnswer'
          5        IS_EQUAL                                                 !1, ~3
          6      > JMPZ                                                     ~4, ->9
   41     7    > > RETURN                                                   <true>
   40     8*       JMP                                                      ->10
   43     9    > > RETURN                                                   <false>
   47    10    > > RETURN                                                   null

End of function checkquestionandanswer

End of class NumericQuestion.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
137.42 ms | 1021 KiB | 17 Q