Язык программирования PHP



 

Какие парадигмы программирования поддерживает PHP?

  • логическую
  • (Правильный ответ) процедурную
  • (Правильный ответ) объектно-ориентированную

Написать программу, которая выводит «жирными» буквами (тег <b>) строку «Добро пожаловать!» с использованием языка PHP.

  • (Правильный ответ)
    <?phpecho «»<b> Добро пожаловать!</b> «»;?>
  • <?php<b>echo «»Добро пожаловать!»»</b>?>
  • <?echo «»<bold>Добро пожаловать!</bold>»»?>

Известно, что настройки PHP можно сохранять/изменять не только в php.ini, но и в самих PHP скриптах, в файлах .htaccess и в файле настроек сервера httpd.conf. Где можно установить значение опции session.auto_start?

  • (Правильный ответ) в php.ini или httpd.conf
  • (Правильный ответ) в скрипте пользователя
  • (Правильный ответ) в файле .htaccess

Какой оператор обозначает равенство значений в языке PHP?

  • :=
  • =
  • =:
  • (Правильный ответ) ==

Как можно задать массив в языке PHP?

  • $arr[«a»,»b»,»c»] = «q»;
  • $arr («0″=> «a»);
  • (Правильный ответ) $arr = array(«a»,»b»,»c»);
  • (Правильный ответ) $arr[0] = «a»;

Какие из утверждений относительно оператора require верны?

  • require выполняет код указанного в нем файла только один раз
  • (Правильный ответ) require используется для включения в программу содержимого другого файла
  • при использовании внутри условных блоков require не нужно заключать в фигурные скобки

Каким будет результат выполнения следующей программы

<?phpfor ($j=1; ?{ $i = round (9/$j); switch ($i) { case 5: echo «»+»»; break; case 9: echo «»-«»; break; case 3: echo «»!»»; break 2; default: echo $i; break; } $j++;}?>

  • +-!
  • ошибка синтаксиса
  • бесконечный цикл
  • (Правильный ответ) -+!

Дана команда: if(!$var) echo «Hello»; В каком случае на экран будет выведено слово «Hello»?

  • если $var == true
  • (Правильный ответ) если $var = 0
  • (Правильный ответ) если $var преобразуется к логическому false

Какие из операторов switch записаны правильно с точки зрения синтаксиса?

  • switch ($par){«»1″»: echo «»1″»;»»2″»: echo 2;}
  • (Правильный ответ)
    switch ($par){case «»1″»: echo «»1″»;case 2: echo 2;default: echo 3;}
  • (Правильный ответ)
    switch ($par):case «»1″»: echo «»1″»;break;case 2: echo 2;break;endswitch;

Файл vars.php:

<?php$a = 1;?>

Файл index.php:

<?phpfor ($I=0; $I < 3; $I++){ include(«»vars.php»»); echo $a++;}?>

Что мы получим в результате обработки интерпретатором файла index.php?

  • 12
  • 1234
  • 123
  • (Правильный ответ) 111

В каком случае выполняется блок действий цикла

for (expr1; expr2; expr3) {// блок действий}

  • (Правильный ответ) если второе выражение (expr2) вычисляется как true
  • если третье выражение (expr3) вычисляется как true
  • если первое выражение (expr1) вычисляется как true

Какое из утверждений относительно оператора include верно?

  • файл, включаемый с помощью include, должен быть правильным HTML-файлом
  • (Правильный ответ) include используется для включения в программу содержимого другого файла
  • файл, включаемый с помощью include, может быть любым файлом

Как можно узнать виртуальный путь до выполняющегося в данный момент скрипта?

  • (Правильный ответ) getenv(‘SCRIPT_NAME’)
  • (Правильный ответ) $_SERVER[‘SCRIPT_NAME’]
  • (Правильный ответ) $_SERVER[‘PHP_SELF’]
  • с помощью константы SCRIPT_NAME

Чем отличается клиент от сервера?

  • (Правильный ответ) клиент посылает запросы, а сервер обрабатывает их
  • (Правильный ответ) клиент отображает данные на экране компьютера пользователя, а сервер предоставляет данные
  • (Правильный ответ) сервер выполняет запросы клиента, специализируясь на эффективном решении задач определенного класса
  • сервер есть часть компьютерной архитектуры сервер-сервер, а клиент – архитектуры клиент-клиент
  • сервер создает соединение, а клиент, пользуясь им, передает свой запрос

Как можно получить адрес страницы, с которой был послан запрос?

  • (Правильный ответ) $_SERVER[‘HTTP_REFERER’]
  • getenv(‘REMOTE_HOST’)
  • (Правильный ответ) getenv(‘HTTP_REFERER’)
  • с помощью константы HTTP_REFERER

В чем состоят функции сервера?

  • (Правильный ответ) обрабатывать запросы клиента
  • (Правильный ответ) запускать процессы, запрошенные клиентом, и возвращать клиенту результаты
  • отображать данные на экране компьютера пользователя
  • инициировать соединение с клиентом

Дана следующая html форма:

<form name=»»my_form»» method=»»get»»>Field 1 <input type=text name=»»f1″»><br>Select field <select name=»»f2″»> <option value=»»1″»>first <option value=»»2″»>second</select><br> <input type=submit></form>

Как можно получить переданные клиентом значения из этой формы?

  • $f1 и $f2, если register_globals=off
  • $_POST[«f1»] и $_POST[«f2»]
  • (Правильный ответ) $_GET[«f1»] и $_GET[«f2»]
  • $POST[«f1»] и $POST[«f2»]
  • (Правильный ответ) $_REQUEST[«f1»] и $_REQUEST[«f2»]

Создать класс A, расширяющий класс B с помощью метода add() и переменной $a.

  • class B{var $b;function B(){}}class B extends A {var $a;function add($b){$this->a += $b;}}
  • (Правильный ответ)
    class B{var $b;function B(){}}class A extends B {var $a;function add($b){$this->a += $b;}}
  • class A extends B {var $a;function add($b){$this-> += $b;}}

Как можно получить и вывести на экран список всех методов класса, представителем которого является объект?

  • get_methods(get_class(объект));
  • (Правильный ответ) get_class_methods(get_class(объект));
  • get_class_methods(get_class -> объект);

Класс MyClass задан следующим образом:

<?phpclass MyClass{var $a;function MyClass() { $this->a = «»hello»»;}function MyFunc($b) { return $b . «» «» . $this->a;}}?>

Создать представителя класса MyClass. Получить и вывести значения всех свойств этого класса. Вызвать методы данного класса.

  • (Правильный ответ)
    $myObj = new MyClass();echo $myObj->a;$str = $myObj->MyFunc(«»people»»);Конструктор MyClass() вызывается автоматически при создании представителя класса.
  • new MyClass();echo $MyClass->a;$str = $MyClass->MyFunc(«»people»»);Конструктор MyClass() вызывается автоматически при создании представителя класса.
  • $myObj = new MyClass(«»test»»);$b = «»a»»;echo $myObj->$b;MyFunc($b);

Имеется объект ($obj) какого-то класса. Требуется получить список всех свойств класса, которому принадлежит объект.

  • $get_class_vars(get_class->$obj);
  • get_class_var(get_class($obj));
  • (Правильный ответ) $vars = get_class_vars(get_class($obj));

Как можно программно узнать имя класса, представителем которого является объект?

  • $(get_class->объект);
  • (Правильный ответ) get_class(объект);
  • class(объект);

Имеется следующая форма:

<form action=task3.php>Запись номер 1 <input type=checkbox name=id[] value=10> <br>Запись номер 2 <input type=checkbox name=id[] value=20> <br>Запись номер 3 <input type=checkbox name=id[] value=30> <br><input type=submit value=»»Отправить»»></form>

Изменить значения переданных элементов, увеличив их в 10 раз. Использовать функцию array_walk(). Вывести значения элементов до и после применения array_walk

  • (Правильный ответ)
    <?print_r($_GET);array_walk($_GET,»»test»»);function test(&$val,$key){foreach ($val as $k=> $v)$val[$k] = $v*10;}print_r($_GET);?>
  • <?print_r($_GET);array_walk($_GET,»»test»»);function test(&$val,$key){$val = $val*10;}print_r($_GET)?>
  • <?print_r($_POST);array_walk($_POST,»»test»»);function test(&$val,$key){foreach ($val as $k=> $v)$val[$k] = $v*10;}print_r($_POST);?>

Дана строка «<h2>Наука – <font color=red>двигатель</font> прогресса!</h2>». Как можно вывести ее в браузер именно в таком виде, без форматирования согласно стандарту HTML?

  • (Правильный ответ)
    echo htmlspecialchars(«»<h2>Наука — <font color=red>двигатель</font> прогресса!</h2>»»);
  • echo htmlentities(«»<h2>Наука – <font color=red>двигатель</font> прогресса!</h2>»»);
  • (Правильный ответ)
    echo htmlspecialchars(«»<h2>Наука — <font color=red>двигатель</font> прогресса!</h2>»», ENT_COMPAT);

Дана строка текста: «PHP – очень простой язык. Я знаю PHP!!!». Заменить в ней все вхождения слова «PHP» на слово «Perl».

  • <?php$str = «»PHP – очень простой язык. Я знаю PHP!!!»»;echo str_replace($str, «»PHP»», «»Perl»»);?>
  • (Правильный ответ)
    <?php$str = «»PHP – очень простой язык. Я знаю PHP!!!»»;echo str_replace(«»PHP»», «»Perl»», $str);?>
  • <?php$str = «»PHP – очень простой язык. Я знаю PHP!!!»»;echo substr_replace(«»PHP»», «»Perl»», $str);?>

Что делает функция move_uploaded_file (временное имя файла, место назначения)?

  • удаляет загруженный файл
  • (Правильный ответ) проверяет, загружен ли файл, и если да, то перемещает его из временной директории в указанную директорию для хранения
  • перемещает файл из временной директории в указанную директорию для хранения

Имеется следующая html-форма

<form enctype=»»multipart/form-data»» action=»»parse.php»» method=»»post»»><input type=»»hidden»» name=»»MAX_FILE_SIZE»» value=»»30000″» />Загрузить файл: <input type=»»file»» name=»»my»» /><br><input type=»»submit»» value=»»Отправить файл»» /></form>

Как узнать размер файла, который клиент хочет загрузить на сервер с помощью этой формы.

  • (Правильный ответ) filesize($_FILES[‘my’][‘tmp_name’])
  • filesize($_FILES[‘my’][‘name’])
  • $_FILES[‘size’]
  • filesize($_FILES[‘name’][‘my’])

С помощью какой функции можно проверить, существует ли файл?

  • (Правильный ответ) file_exists()
  • is_writable()
  • is_readable()

Какие из перечисленных функций считывают данные из файла, ссылка на который установлена функцией fopen?

  • (Правильный ответ) fgetc()
  • (Правильный ответ) fgetss()
  • fileread()
  • (Правильный ответ) fread()

Имеется следующая html-форма

<form enctype=»»multipart/form-data»» action=»»parse.php»» method=»»post»»><input type=»»hidden»» name=»»MAX_FILE_SIZE»» value=»»30000″» />Загрузить файл: <input type=»»file»» name=»»my»» /><br><input type=»»submit»» value=»»Отправить файл»» /></form>

Как узнать, что файл, загружаемый на сервер с помощью этой формы, был загружен успешно?

  • if (isset($_FILES[‘my’])) echo «файл загружен успешно»;
  • (Правильный ответ) if ($_FILES[‘my’][‘error’] == 0) echo «файл загружен успешно»;
  • if ($_FILES[‘my’][‘error’] == 1) echo «файл загружен успешно»;

Каков синтаксис оператора удаления таблицы?

  • REMOVE TABLE [IF EXISTS] имя_таблицы [, имя_таблицы,…] [RESTRICT | CASCADE]
  • (Правильный ответ) DROP TABLE [IF EXISTS] имя_таблицы [, имя_таблицы,…] [RESTRICT | CASCADE]
  • DELETE TABLE [IF EXISTS] имя_таблицы [, имя_таблицы,…] [RESTRICT | CASCADE]

Составить запрос к таблице Articles на получение всех значений таких ее полей, как название статьи (title), автор (author) и краткое содержание (abstract). Упорядочить результат запроса по имени автора.

  • SELECT * FROM Articles WHERE author=»»$author»», title=»»$title»», abstract=»»$abstract»» ORDER BY author;
  • SELECT (title, author, abstract) FROM Articles WHERE ORDER BY author;
  • (Правильный ответ)
    SELECT title, author, abstract FROM Articles ORDER BY author;

Оператор update предназначен для обновления значений существующих столбцов таблицы в соответствии с введенными значениями. Каков синтаксис этого оператора?

  • UPDATE имя_таблицыGET имя_столбца1=выражение1 [, имя_столбца2=выражение2, …]
  • UPDATE имя_таблицы SET имя_столбца1=выражение1 [, имя_столбца2=выражение2, …]
  • (Правильный ответ)
    UPDATE [LOW_PRIORITY] [IGNORE] имя_таблицыSET имя_столбца1=выражение1 [, имя_столбца2=выражение2, …][WHERE where_definition] [LIMIT число]

Составить запрос к таблице описаний статей (Articles): изменить название статьи (title), автор (author) которой «Петров» на название «Второе название».

  • (Правильный ответ)
    UPDATE Articles SET title=»»Второе название»» WHERE author=»»Петров»»;
  • UPDATE Articles SET title=»»Второе название»»;
  • UPDATE Articles SET title=»»Второе название»» WHERE title=»» Первое название»»;

Составить запрос к таблице Articles на добавление описания статьи с названием (title) «Новая статья» и автором (author) «Сидоров С. С.».

  • (Правильный ответ)
    INSERT INTO Articles SET title=’Новая статья’, author=’Сидоров С. С.’;
  • INSERT INTO Articles title=’Новая статья’, author=’Сидоров С. С.’;
  • (Правильный ответ)
    INSERT INTO Articles (title, author) VALUES(‘Новая статья’, ‘Сидоров С. С.’);

Получить имена всех полей таблицы persons базы данных book

  • <?php$fld = mysql_list_fields(«»book»», «»persons»»);$n = mysql_num_fields($fld);for($i=0;$i<$n; $i++){ $name_f = mysql_field_name ($i); echo «»<br>Имя поля: «». $name_f;}?>
  • (Правильный ответ)
    <?php$conn = mysql_connect(«»localhost»», «»nina»», «»123″»);$fld = mysql_list_fields(«»book»», «»persons»», $conn);$n = mysql_num_fields($fld);for($i=0;$i<$n; $i++){ $name_f = mysql_field_name ($fld, $i); echo «»<br>Имя поля: «». $name_f;}?>
  • <?php$conn = mysql_connect(«»localhost»», «»nina»», «»123″»);$fld = mysql_list_fields(«»book»», «»persons»», $conn);for($i=0;$i<count($fld); $i++){ echo «»<br>Имя поля: «». $fld[$i];}?>

Функция mysql_connect, устанавливающая соединение с базой данных MySQL, имеет следующий синтаксис:

mysql_connect ( server, username, password, new_link, client_flags)

Какие значения будут установлены для параметров server, username, password, если они не были заданы при вызове функции mysql_connect?

  • (Правильный ответ)
    server = ‘localhost:3306’username = имя пользователя владельца процесса сервераpassword = пустой пароль
  • эти параметры обязательны для функции mysql_connect
  • server = ‘localhost:8080’username = имя пользователя владельца процесса сервераpassword = пароль пользователя владельца процесса сервера

Каковы синтаксис и семантика функции explode?

  • массив explode (строка string). Эта функция разбивает строку string на части с помощью разделителя » » и возвращает массив полученных строк
  • эта функция без параметров. Ее семантика неизвестна
  • (Правильный ответ) массив explode(строка separator, строка string [, int limit]). Эта функция разбивает строку string на части с помощью разделителя separator и возвращает массив полученных строк

Параметр session.cookie_lifetime задает длительность жизни cookies в секундах. Какое значение имеет этот параметр по умолчанию?

  • (Правильный ответ) по умолчанию это «0», т.е. данные в cookies считаются правильными до закрытия окна браузера
  • по умолчанию это «10», т.е. данные в cookies считаются правильными ровно 10 секунд
  • по умолчанию это «60»

Уничтожить текущую сессию целиком можно командой session_destroy(); К чему приведет уничтожение сессии?

  • после уничтожения сессии очищается массив $_SESSION и больше ничего не происходит
  • (Правильный ответ) после уничтожения сессии уничтожается ее идентификатор, мы больше не можем ни регистрировать переменные, ни вообще производить какие-либо действия с сессией
  • после уничтожения сессии массив $_SESSION заполняется нулями

С помощью какой функции можно получить идентификатор сессии?

  • id_session
  • session_identificator
  • (Правильный ответ) session_id

В одном из скриптов программы имеется переменная $user_name = «Иван Петров» . Как сделать так, чтобы эта переменная была доступна во всех скриптах программы.

  • (Правильный ответ) передавать эту переменную при переходе от скрипта к скрипту в качестве скрытого элемента HTML-формы
  • (Правильный ответ) в этом скрипте нужно создать сессию (или восстановить текущую) с помощью команды session_start(). Потом нужно зарегистрировать переменную в качестве переменной сессии таким образом:$_SESSION[«»user_name»»] = «»Иван Петров»»;

    Все остальные скрипты программы начинать с команды session_start();

  • в этом скрипте нужно создать сессию (или восстановить текущую) с помощью команды session_start(). Потом нужно зарегистрировать переменную в качестве переменной сессии таким образом:$_SESSION[«»user_name»»] = «»Иван Петров»»;
  • нужно зарегистрировать переменную в качестве переменной сессии:$_SESSION[«»user_name»»] = «»Иван Петров»»;

Какова структура регулярного выражения?

  • (Правильный ответ) общая структура регулярного выражения: шаблон, выделенный с помощью специального символа разделителя, модификатор, влияющий на способ обработки регулярного выражения
  • общая структура регулярного выражения: шаблон, заключенный в круглые скобки, и функция для его обработки
  • общая структура регулярного выражения: шаблон, выделенный с помощью специального символа разделителя

Назначение метасимвола «-«?

  • вычисляет символьный класс
  • отрицание класса, но только если это первый символ
  • (Правильный ответ) задает диапазон символов

Выделить из URL адреса ресурса имя хоста

  • (Правильный ответ)
    <?phppreg_match («»/^(http:\/\/)?([^\/]+)/i»», «»http://www.php.net/test/index.html»», $matches);echo «»Host:»», $matches[2];?>
  • <?phppreg_match («»/^(http://)(\w+[^\/]+)/i»», «»http://www.php.net/test/index.html»», $matches);echo «»Host:»», $matches[2];?>
  • <?phppreg_match («»/^(http:\/\/)?([^\/]+)/i»», «»http://www.php.net/test/index.html»», $matches);echo «»Host:»», $matches[0];?>

Что делает следующая функция?

function Test($str){$pattern = «»/\d{3}-\d{2}-\d{2}/m»»;$num_match = preg_match_all ($pattern, $str, $result);return $num_match;}

  • возвращает 0 или 1 в зависимости от того, встречена ли в строке семизначная комбинация цифр, записанных в виде: три цифры, тире, две цифры, тире, две цифры
  • (Правильный ответ) возвращает число встреченных в строке семизначных комбинаций цифр, записанных в виде: три цифры, тире, две цифры, тире, две цифры
  • возвращает число встреченных в строке семизначных комбинаций цифр, состоящих из цифр 3 и 2

Функция domxml_new_doc в качестве результата возвращает пустой XML-документ. Что передается этой функции в качестве параметра?

  • в качестве параметра передается строка, в которой содержатся первоначальные данные XML-документа
  • в качестве параметра передается строка, содержащая путь, где будет храниться XML-документ
  • (Правильный ответ) в качестве параметра передается версия создаваемого XML-документа
  • у этой функции параметров нет

Что возвращает метод document_element класса DomDocument?

  • содержимое элемента
  • (Правильный ответ) корневой элемент
  • значение атрибута

Какая комбинация технологий позволяет получить HTML-документы?

  • (Правильный ответ) XML + XSLT
  • XML + DTD
  • XSLT + DTD

Что представляет собой шаблон Smarty?

  • это набор переменных Smarty и html-тегов
  • это набор html-тегов
  • (Правильный ответ) это набор переменных, циклов, условных операторов, операторов вставки файлов и т.д

Для чего используется метод parse() при работе с шаблонами FastTemplate?

  • обрабатывает шаблон и выводит его содержимое на экран
  • (Правильный ответ) этот метод инициализирует обработку шаблона и сохраняет обработанный шаблон в переменную
  • этот метод присваивает переменной указанное значение

Как задается переменная в шаблоне Smarty?

  • {имя_переменной}
  • (Правильный ответ) {$имя_переменной}
  • (Правильный ответ) {#bodyBgColor#}

Дан массив $b = array(«23aaa»,»4″,»qww»,»c», 3). Найти в массиве число 3, не перебирая все элементы массива. Если элемент найден, вывести значение его ключа.

  • <?php$b = array(«»23aaa»»,»»4″»,»»qww»»,»»c»», 3);$index = array_search($b,»»3″»);if ($index === false) echo»»Нет такого числа в массиве»»;else { echo»»Число найдено с ключом «»; echo $index;}?>
  • <?php$b = array(«»23aaa»»,»»4″»,»»qww»»,»»c»», 3);if (!array_search(«»3″»,$b)) echo»»Нет такого числа в массиве»»;else { echo»»Число найдено с ключом «»; echo array_search(«»3″»,$b);}?>
  • (Правильный ответ)
    <?php$b = array(«»23aaa»»,»»4″»,»»qww»»,»»c»», 3);$index = array_search(3,$b,true);if ($index === false) echo»»Нет такого числа в массиве»»;else { echo»»Число найдено с ключом «»; echo $index;}?>

Что делает приведенная ниже программа.

<?php $f = fopen(«»file.html»», «»r»»);echo fread($f, 1024);fclose($f);?>

  • открывает файл file.html только для записи. Дописывает в конец файла строку «1024». Если файла с именем file.html не существует в директории скрипта, то он будет создан и в него запишется слово «1024». Закрывает соединение с файлом
  • (Правильный ответ) открывает файл file.html только для чтения. Считывает 1024 байт текста из файла и выводит его на экран. Закрывает соединение с файлом
  • открывает файл file.html для записи и чтения. Считывает 1024 символа из файла и выводит его на экран. Закрывает соединение с файлом

Функция domxml_open_file в качестве результата возвращает объект класса DOMDocument. Что передается этой функции в качестве параметра?

  • в качестве параметра передается строка, содержащая XML-документ
  • (Правильный ответ) в качестве параметра передается строка, содержащая путь к XML-документу
  • в качестве параметра передается объект класса DOMNode

Каким будет результат работы следующей программы

<?phpfunction Test($a=»»q»», $b){ echo $a; return $a . $b;}Test(1);?>

  • q1
  • qq1
  • (Правильный ответ) предупреждение, что не хватает второго аргумента для функции, и значение 1

Данные некоторой формы отправлены на сервер методом POST. Проверить, была ли передана в качестве значения какого-либо элемента формы строка «hello»

  • <?phpif (array($_POST, «»hello»», true)) echo «»Element found»»;?>
  • <?phpif (array_search(«»hello»», $_GET)) echo «»Element found»»;?>
  • (Правильный ответ)
    <?phpif (array_keys($_POST, «»hello»»)) echo «»Element found»»;?>

С какими параметрами может вызываться функция explode()?

  • (Правильный ответ) максимальное количество возвращаемых строк
  • максимальная длина возвращаемых строк
  • (Правильный ответ) разделитель в виде строки
  • (Правильный ответ) строка для разделения

Какие из циклов while записаны правильно с точки зрения синтаксиса?

  • (Правильный ответ)
    while ($a < $b):echo $a;$a++;endwhile;
  • (Правильный ответ)
    while ($a < $b){echo $a;$a++;}
  • while ($a < $b){echo $a;$a++;endwhile;

Что такое пользовательская директория сервера и где она находится по умолчанию (для windows систем)?

  • это директория, выделенная пользователю для личных нужд, файлы которой обрабатываются сервером. Находится в «C:/Program Files/Apache Group/Apache/htdocs/users/»
  • (Правильный ответ) это директория, выделенная пользователю для личных нужд, файлы которой обрабатываются сервером, если он получает запрос типа ~user. Находится в «C:/Program Files/Apache Group/Apache/users/»
  • это директория, выделенная пользователю для личных нужд, файлы которой никогда не обрабатываются сервером. Находится в «C:/Program Files/Apache Group/Apache/users/»
  • это директория, выделенная пользователю для личных нужд, файлы которой обрабатываются сервером, если он получает запрос типа ~user. Находится в «C:/Program Files/Apache Group/Apache/htdocs/users/»

Дан м