<?php
class Question
{
public $text ; // текст вопроса
public $points = 5 ; // число баллов, по умолчанию 5
public $answers ; // варианты ответов
public $correctAnswer ; // правильный ответ
}
// Функция, создающая массив с вопросами:
function createQuestions( )
{
// Создаем пустой массив
$questions = [ ] ;
// Создаем и заполняем первый объект
$q = new Question;
$q -> text = "Познаю ли Я ООП?" ;
$q -> points = 1 ;
$q -> answers = array ( 'a' => 'Да' , 'b' => 'Не знаю' , 'c' => 'Все зависит от меня самого' , 'd' => 'Нет' ) ; $q -> correctAnswer = 'c' ;
// Кладем вопрос в массив
$questions [ ] = $q ;
// Создаем второй объект
$q = new Question;
$q -> text = "Оп - няша?" ;
$q -> points = 1337 ;
$q -> answers = array ( 'a' => 'Да' , 'b' => 'Определенно' , 'c' => 'Он еще и умняша' , 'd' => 'Все ответы верны' ) ; $q -> correctAnswer = 'd' ;
// Кладем вопрос в массив
$questions [ ] = $q ;
// Создаем третий объект
$q = new Question;
$q -> text = "Какой город является столицей России?" ;
$q -> points = 100 ;
$q -> answers = array ( 'a' => 'Киев' , 'b' => 'Санкт-Петербург' , 'c' => 'Лондон' , 'd' => 'Москва' ) ; $q -> correctAnswer = 'd' ;
// Кладем вопрос в массив
$questions [ ] = $q ;
return $questions ;
}
function printQuestions( $questions )
{
$number = 1 ; // номер вопроса
foreach ( $questions as $question ) {
echo "{$number} . {$question->text} \n \n " ;
echo "Варианты ответов:\n " ;
foreach ( $question -> answers as $letter => $answer ) {
echo " {$letter} . {$answer} \n " ;
}
$number ++;
}
}
$questions = createQuestions( ) ;
printQuestions( $questions ) ;
PD9waHAKY2xhc3MgUXVlc3Rpb24KewogICAgcHVibGljICR0ZXh0OyAgICAgICAgICAgLy8g0YLQtdC60YHRgiDQstC+0L/RgNC+0YHQsAogICAgcHVibGljICRwb2ludHMgPSA1OyAgICAgLy8g0YfQuNGB0LvQviDQsdCw0LvQu9C+0LIsINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIDUKICAgIHB1YmxpYyAkYW5zd2VyczsgICAgICAgIC8vINCy0LDRgNC40LDQvdGC0Ysg0L7RgtCy0LXRgtC+0LIKICAgIHB1YmxpYyAkY29ycmVjdEFuc3dlcjsgIC8vINC/0YDQsNCy0LjQu9GM0L3Ri9C5INC+0YLQstC10YIKfQogCi8vINCk0YPQvdC60YbQuNGPLCDRgdC+0LfQtNCw0Y7RidCw0Y8g0LzQsNGB0YHQuNCyINGBINCy0L7Qv9GA0L7RgdCw0LzQuDoKZnVuY3Rpb24gY3JlYXRlUXVlc3Rpb25zKCkKewogICAgLy8g0KHQvtC30LTQsNC10Lwg0L/Rg9GB0YLQvtC5INC80LDRgdGB0LjQsgogICAgJHF1ZXN0aW9ucyA9IFtdOwogCiAgICAvLyDQodC+0LfQtNCw0LXQvCDQuCDQt9Cw0L/QvtC70L3Rj9C10Lwg0L/QtdGA0LLRi9C5INC+0LHRitC10LrRggogICAgJHEgPSBuZXcgUXVlc3Rpb247CiAgICAkcS0+dGV4dCA9ICLQn9C+0LfQvdCw0Y4g0LvQuCDQryDQntCe0J8/IjsKICAgICRxLT5wb2ludHMgPSAxOwogICAgJHEtPmFuc3dlcnMgPSBhcnJheSgnYSc9PifQlNCwJywgJ2InID0+ICfQndC1INC30L3QsNGOJywgJ2MnID0+ICfQktGB0LUg0LfQsNCy0LjRgdC40YIg0L7RgiDQvNC10L3RjyDRgdCw0LzQvtCz0L4nLCAnZCcgPT4gJ9Cd0LXRgicpOwogICAgJHEtPmNvcnJlY3RBbnN3ZXIgPSAnYyc7CiAgICAvLyDQmtC70LDQtNC10Lwg0LLQvtC/0YDQvtGBINCyINC80LDRgdGB0LjQsgogICAgJHF1ZXN0aW9uc1tdID0gJHE7CiAKICAgIC8vINCh0L7Qt9C00LDQtdC8INCy0YLQvtGA0L7QuSDQvtCx0YrQtdC60YIKICAgICRxID0gbmV3IFF1ZXN0aW9uOwogICAgJHEtPnRleHQgPSAi0J7QvyAtINC90Y/RiNCwPyI7CiAgICAkcS0+cG9pbnRzID0gMTMzNzsKICAgICRxLT5hbnN3ZXJzID0gYXJyYXkoJ2EnID0+ICfQlNCwJywgJ2InID0+ICfQntC/0YDQtdC00LXQu9C10L3QvdC+JywgJ2MnID0+ICfQntC9INC10YnQtSDQuCDRg9C80L3Rj9GI0LAnLCAnZCcgPT4gJ9CS0YHQtSDQvtGC0LLQtdGC0Ysg0LLQtdGA0L3RiycpOwogICAgJHEtPmNvcnJlY3RBbnN3ZXIgPSAnZCc7CiAgICAvLyDQmtC70LDQtNC10Lwg0LLQvtC/0YDQvtGBINCyINC80LDRgdGB0LjQsgogICAgJHF1ZXN0aW9uc1tdID0gJHE7CiAKICAgIC8vINCh0L7Qt9C00LDQtdC8INGC0YDQtdGC0LjQuSDQvtCx0YrQtdC60YIKICAgICRxID0gbmV3IFF1ZXN0aW9uOwogICAgJHEtPnRleHQgPSAi0JrQsNC60L7QuSDQs9C+0YDQvtC0INGP0LLQu9GP0LXRgtGB0Y8g0YHRgtC+0LvQuNGG0LXQuSDQoNC+0YHRgdC40Lg/IjsKICAgICRxLT5wb2ludHMgPSAxMDA7CiAgICAkcS0+YW5zd2VycyA9IGFycmF5KCdhJyA9PiAn0JrQuNC10LInLCAnYicgPT4gJ9Ch0LDQvdC60YIt0J/QtdGC0LXRgNCx0YPRgNCzJywgJ2MnID0+ICfQm9C+0L3QtNC+0L0nLCAnZCcgPT4gJ9Cc0L7RgdC60LLQsCcpOwogICAgJHEtPmNvcnJlY3RBbnN3ZXIgPSAnZCc7CiAgICAvLyDQmtC70LDQtNC10Lwg0LLQvtC/0YDQvtGBINCyINC80LDRgdGB0LjQsgogICAgJHF1ZXN0aW9uc1tdID0gJHE7CiAKICAgIHJldHVybiAkcXVlc3Rpb25zOwp9CgpmdW5jdGlvbiBwcmludFF1ZXN0aW9ucygkcXVlc3Rpb25zKQp7CiAgICAkbnVtYmVyID0gMTsgLy8g0L3QvtC80LXRgCDQstC+0L/RgNC+0YHQsAoKICAgIGZvcmVhY2ggKCRxdWVzdGlvbnMgYXMgJHF1ZXN0aW9uKSB7CiAgICAgICAgZWNobyAieyRudW1iZXJ9LiB7JHF1ZXN0aW9uLT50ZXh0fVxuXG4iOwoKICAgICAgICBlY2hvICLQktCw0YDQuNCw0L3RgtGLINC+0YLQstC10YLQvtCyOlxuIjsKCiAgICAgICAgZm9yZWFjaCAoJHF1ZXN0aW9uLT5hbnN3ZXJzIGFzICRsZXR0ZXIgPT4gJGFuc3dlcikgewogICAgICAgICAgICBlY2hvICIgIHskbGV0dGVyfS4geyRhbnN3ZXJ9XG4iOwogICAgICAgIH0KCiAgICAgICAgJG51bWJlcisrOyAKICAgIH0KfQoKJHF1ZXN0aW9ucyA9IGNyZWF0ZVF1ZXN0aW9ucygpOwpwcmludFF1ZXN0aW9ucygkcXVlc3Rpb25zKTs=