игра брюс 2048
Главная / Программирование / PHP: основы / Тест 1

PHP: основы - тест 1

Упражнение 1:
Номер 1
Для приведения переменной к типу чисел с плавающей точкой следует перед именем переменной указать

Ответ:

 (1) (float) 

 (2) (double) 

 (3) (real) 

 (4) численные значения в PHP всегда имеют тип чисел с плавающей точкой 


Номер 2
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) перед использованием переменной она должна быть определена с указанием типа и инициализирована каким-либо значением 

 (2) перед использованием переменной она должна быть определена с указанием типа 

 (3) перед использованием переменной она должна быть инициализирована каким-либо значением 

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


Номер 3
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) значение константы может быть переопределено с помощью повторного использования define(), но не могут быть аннулированы 

 (2) значение константы может быть аннулировано с помощью использования unset(), но не может быть переопределено 

 (3) значение константы может быть переопределено с помощью повторного использования define() и аннулировано с помощью использования unset() 

 (4) значение константы не может быть ни переопределено, ни аннулировано 


Номер 4
PHP поддерживает следующие простые скалярные типы:

Ответ:

 (1) целое 

 (2) беззнаковое целое  

 (3) булево (логическое) 

 (4) число с плавающей точкой 

 (5) строка 


Номер 5
Для получения константы по динамически формируемому имени следует использовать:

Ответ:

 (1) функцию get_defined_constant() 

 (2) функцию get_constant() 

 (3) функцию constant() 

 (4) функцию defined() 


Номер 6
Тип переменной во время выполнения PHP-сценария определяется по следующим правилам:

Ответ:

 (1) тип переменной явно указывается при определении переменной и не изменяется в процессе выполнения сценария 

 (2) тип переменной явно указывается при определении переменной и изменяется только при приведении этой переменной к другому типу или использовании функции settype() 

 (3) тип переменной определяется типом первого значения, которое было ей присвоено, и далее не изменяется 

 (4) тип переменной изменяется при приведении этой переменной к другому типу или использовании функции settype(), а также может изменяться в зависимости от контекста использования этой переменной 

 (5) тип переменной изменяется при приведении этой переменной к другому типу или использовании функции set_type(), а также может изменяться в зависимости от контекста использования этой переменной 


Упражнение 2:
Номер 1
Обращение к переменной ($var1) по ее имени, являющемуся строковым значением другой переменной ($var2), производится следующим образом:

Ответ:

 (1) $var2 

 (2) $$var2 

 (3) ${var2} 

 (4) ${$var2} 


Номер 2
PHP поддерживает следующие простые специальные (special) типы:

Ответ:

 (1) NULL 

 (2) array 

 (3) resource 

 (4) object 


Номер 3
Из приведенного перечня укажите все верные имена суперглобальных массивов:

Ответ:

 (1) $_POST 

 (2) $_ENVIRONMENT 

 (3) $ENVIRONMENT 

 (4) $_REQUEST 

 (5) $SESSION 


Номер 4
Тип переменной можно узнать с помощью:

Ответ:

 (1) функции get_type() 

 (2) функции gettype() 

 (3) функции is_<название_типа>() 

 (4) функции is<название_типа> 


Номер 5
PHP поддерживает следующие простые смешанные (compound) типы:

Ответ:

 (1) dataset 

 (2) object 

 (3) resource 

 (4) array 

 (5) enum 


Номер 6
Из приведенного перечня укажите все верные имена суперглобальных массивов:

Ответ:

 (1) $_FILES 

 (2) $_GLOBALS 

 (3) $SERVER 

 (4) $GLOBALS 

 (5) $_SERVER 


Упражнение 3:
Номер 1
PHP-сценарий содержит следующий код:

<?php
define("foo","bar");
$bar = defined("foo");
echo $bar;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) TRUE 

 (2) FALSE 

 (3)

 (4)

 (5) пустая строка 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$bar2 = "значение1";
$bar1 = &$bar2;
$bar3 = "значение2";
$bar1 = &$bar3;
echo $bar2;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) значение1 

 (3) значение2 

 (4) пустая строка 


Номер 3
PHP-сценарий содержит следующий код:

<?php
define("FOO","значение константы");
$bar = is_defined("FOO");
echo $bar;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) TRUE 

 (3) FALSE 

 (4)

 (5)


Номер 4
PHP-сценарий содержит следующий код:

<?php
$foo = define("BAR","значение константы");
echo $foo;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) TRUE 

 (2) FALSE 

 (3)

 (4)

 (5) пустая строка 


Номер 5
В целях отладки был разработан код функции, выводящий строку с заключением о принадлежности аргумента функции к строковому типу. Код функции следующий:

function foo($bar)
{
	if(___)
		echo "Это строка";
	else
		echo "Это не строка";
}

Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) is_string($bar) 

 (2) gettype($bar) == "string" 

 (3) get_type($bar) == "string" 

 (4) (string)$bar == $bar 

 (5) (string)$bar === $bar 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$bar1 = "Старое значение";
$bar2 = "Новое значение";
function foo()
{
    		global $bar1,$bar2;
    	$bar1 =& $bar2;
}
foo();
echo $bar1;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) старое значение 

 (2) новое значение 

 (3) пустая строка 

 (4) сценарий не будет выполнен, т.к. код содержит ошибки 


Упражнение 4:
Номер 1
PHP-сценарий содержит следующий код:

<?php
define("FOO","значение константы");
unset("FOO");
echo FOO;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) сценарий не будет выполнен, т.к. код содержит ошибки 

 (2) NULL 

 (3) пустая строка 

 (4)

 (5) значение константы 


Номер 2
PHP-сценарий содержит следующий код:

<?php
define("FOO","значение константы");
unset(FOO);
echo FOO;
?>


Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) NULL 

 (3) пустая строка 

 (4)

 (5) значение константы 


Номер 3
Файл redefiner.php содержит следующий код:

<?php
define("_GET","BAR");
var_dump($_GET);
?>

Результатом выполнения запроса redefiner.php?foo=bar будет:

Ответ:

 (1) сценарий не будет выполнен, т.к. код содержит ошибки 

 (2) пустая строка 

 (3) NULL 

 (4) BAR 

 (5) array(1) { ["foo"]=> string(3) "bar" } 


Номер 4
PHP-сценарий содержит следующий код:

<?php
define("FOO","значение константы");
$bar = &FOO;
echo $bar;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) сценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) пустая строка 

 (4) значение константы 

 (5) NULL 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$bar = define("FOO","значение константы");
unset($bar);
echo FOO;
?>


Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) NULL 

 (3) пустая строка 

 (4)

 (5) значение константы 


Номер 6
PHP-сценарий предназначен для вывода значения константы BAR:

<?php
define("BAR", "Значение константы");
function foo()
{
echo ___;
}
foo();
?>

Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) "BAR" 

 (2) BAR 

 (3) $BAR 

 (4) ${BAR} 

 (5) pешение поставленной задачи невозможно, так как в области видимости функции foo() константа BAR недоступна 


Упражнение 5:
Номер 1
В языке PHP существуют следующие операции для работы с массивами:

Ответ:

 (1) объединение ( *

 (2) объединение ( +

 (3) поиск различий ( -

 (4) тождественно равно ( ==


Номер 2
В языке PHP существуют следующие побитовые операции:

Ответ:

 (1) побитовое или ( |

 (2) побитовое или ( ||

 (3) отрицание ( !

 (4) исключающее или ( ^


Номер 3
В языке PHP существуют следующие арифметические операции:

Ответ:

 (1) деление с остатком ( ^

 (2) целочисленное деление ( %

 (3) нахождение целочисленного остатка от деления ( %

 (4) нахождение модуля целочисленного остатка от деления ( %


Номер 4
В языке PHP существуют следующие операции сравнения:

Ответ:

 (1) равно ( =

 (2) не равно ( <>

 (3) много больше ( >>

 (4) меньше или равно ( <=


Номер 5
В языке PHP существуют следующие операции для работы со строками:

Ответ:

 (1) конкатенация ( +

 (2) конкатенация ( .

 (3) поиск количества вхождений подстроки ( /

 (4) объединение ( *


Номер 6
В языке PHP существуют комбинированные операторы присваивания для:

Ответ:

 (1) всех бинарных арифметических операций 

 (2) всех бинарных и унарных арифметических операций 

 (3) всех строковых операций 

 (4) всех бинарных побитовых операций 

 (5) всех бинарных и унарных побитовых операций 


Упражнение 6:
Номер 1
Гибкое (==) сравнение переменной со значением "1" даст результат TRUE, если переменная содержит:

Ответ:

 (1) TRUE 

 (2) FALSE 

 (3) "1" 

 (4) array(1) 


Номер 2
Гибкое (==) сравнение переменной со значением array() (пустой массив) даст результат TRUE, если переменная содержит:

Ответ:

 (1) TRUE 

 (2) FALSE 

 (3) 1 

 (4) 0 

 (5) NULL 


Номер 3
Гибкое (==) сравнение переменной со значением TRUE даст результат TRUE, если переменная содержит:

Ответ:

 (1) 1 

 (2) -1 

 (3) "1" 

 (4) "0" 

 (5) "-1" 


Номер 4
Гибкое (==) сравнение переменной со значением "-1" даст результат TRUE, 
если переменная содержит:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3) 0 

 (4) -1 


Номер 5
Гибкое (==) сравнение переменной со значением "()" даст результат TRUE, 
если переменная содержит:

Ответ:

 (1) TRUE 

 (2) FALSE 

 (3) 0 

 (4) NULL 


Номер 6
Гибкое (==) сравнение переменной со значением NULL даст результат TRUE, 
если переменная содержит:

Ответ:

 (1) FALSE 

 (2) 0 

 (3) -1 

 (4) "" (пустая строка) 

 (5) array() (пустой массив) 


Упражнение 7:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = 1;
$b = 3;
echo $c -= $a += (bool) 19.5/1.5 and 1 - $b * ! $b;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) -2 

 (2) TRUE 

 (3) FALSE 

 (4)

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = 1;
$b = 3;
echo $c -= $a = (int) - 0.5 - 1.5 || 1 - $b + ! $b;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) -2 

 (2) -1 

 (3)

 (4) пустая строка 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = false;
$b = 1;
echo $c *= - $a = (string) 1.5 * $a || $a + ! $b;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) -1 

 (2)

 (3)

 (4) пустая строка 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = 3;
$b = 4;
echo $c -= $a += (string) 7.5/5 << 2 + $b %= - 3;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) -11 

 (2) -8 

 (3)

 (4)

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = 2;
$b = 3;
echo $c += $a %= (int) 10.5/1.5 ^ 1 - $b++;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) -2 

 (2) -1 

 (3)

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = 1;
$b = 2;
echo $c += ($a += (int) 14.5/5) + ($b -= (2 + 1) % - 3);
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2) 8.8 

 (3) 5.8 

 (4) 2.8 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Упражнение 8:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = 14.3;
echo $a-- - ++$a + $a++;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) 14 

 (2) 14.3 

 (3) 23 

 (4) 23.6 

 (5) pезультат выполнения сценария не определен 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = true;
echo ++$a + $a++;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4) пустая строка 

 (5) pезультат выполнения сценария не определен 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = "значение12";
echo ++$a + $a++;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) 25 

 (4) 26 

 (5) 28 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = 1;
echo $a++ % ++$a + $a++;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5) pезультат выполнения сценария не определен 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = 0;
echo $a++ * ++$a + $a--;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5) pезультат выполнения сценария не определен 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = 1;
echo $a++ + ++$a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5) pезультат выполнения сценария не определен 


Упражнение 9:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = false; 
$b = true;
echo ($a or $b + $b - $a || $a and $b && $a );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3)

 (4)

 (5) пустая строка 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = $b = true;
echo ($a + $b + $b++ and -$a && $a || $b or $a );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3)

 (4)

 (5) пустая строка 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = $b = true + 1;
echo ($b - $a or $b-- || -2 * $a + ! $a and $a );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3)

 (4)

 (5) пустая строка 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = $b = true; 
echo ($a && $b and $b || ! $b <> ! $a && $b or $a );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3)

 (4)

 (5) пустая строка 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = $b = false; 
echo ($a != $b || $b or ! $a === $a and $b && $a );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) FALSE 

 (2) TRUE 

 (3)

 (4)

 (5) пустая строка 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = true;
$b = false; 
echo ($a or $b || ! $b == $b and ! $a && $b );
?>

Укажите результат выполнения сценария:

Ответ:

 (1) false 

 (2) true 

 (3)

 (4)

 (5) пустая строка 


Упражнение 10:
Номер 1
Методами GET и Cookie в PHP-сценарий были переданы переменные с одинаковыми  именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом Cookie, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_COOKIE["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Номер 2
Методами POST и Cookie в PHP-сценарий были переданы переменные с одинаковыми  именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом POST, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_POST["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Номер 3
Методами POST и Cookie в PHP-сценарий были переданы переменные с одинаковыми  именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом Cookie, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_COOKIE["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Номер 4
Методами GET и POST в PHP-сценарий были переданы переменные с одинаковыми именами "foo". 
Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом POST, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_POST["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Номер 5
Методами GET и Cookie в PHP-сценарий были переданы переменные с одинаковыми  именами "foo". 
Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом GET, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_GET["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Номер 6
Методами GET и POST в PHP-сценарий были переданы переменные с одинаковыми  именами "foo". 
Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом GET, следует

Ответ:

 (1) обратиться к ней как к $foo 

 (2) обратиться к ней как к $_GET["foo"] 

 (3) обратиться к ней как к $_REQUEST["foo"] 

 (4) обратиться к ней как к $_SERVER["foo"] 

 (5) обратиться к ней как к $_SESSION["foo"] 


Упражнение 11:
Номер 1
Чтобы при отправке данных формы была возможность отправить данные, не связанные ни с одним отображаемым на форме элементом:

Ответ:

 (1) следует в атрибуте action сформировать GET-запрос (например, action = "php_script.php?foo1=bar1&foo2=bar2"

 (2) следует использовать тег input с атрибутом type, равным hidden 

 (3) следует использовать тег input с атрибутом type, равным variable 

 (4) содержимое строки 12 следует включить в предыдущий блок 

 (5) сделать ничего нельзя - такая возможность не предусмотрена; в случае подобной необходимости следует использовать один из элементов формы, занеся в атрибут value нужное значение и сделав его доступным только для чтения 


Номер 2
Чтобы установить cookie, следует использовать:

Ответ:

 (1) функцию set_cookie() 

 (2) функцию setcookie() 

 (3) функцию cookie() 

 (4) функцию _cookie() 


Номер 3
Чтобы при использовании тега input с типом image во время выполнения PHP-сценария узнать координаты точки на изображении, по которой щелкнул пользователь, следует:

Ответ:

 (1) обратиться к переменным <содержание атрибута name в элементе input>.x и <содержание атрибута name в элементе input>.y 

 (2) обратиться к переменным <содержание атрибута name в элементе input>_x и <содержание атрибута name в элементе input>_y 

 (3) обратиться к переменным image_x и image_y 

 (4) обратиться к переменным image.x и image.y 

 (5) такая возможность не предусмотрена 


Номер 4
Чтобы при отправке данных формы они были представлены массивом, следует:

Ответ:

 (1) сгруппировать требуемые поля по имени (назвав их одинаковыми именами в виде name = "data_array"); ключи задать невозможно, они будут сгенерированы автоматически (0,1,2 и так далее) 

 (2) сгруппировать требуемые поля по имени (назвав их одинаковыми именами, завершающимися обязательными кавычками в виде name = "data_array[]"); ключи задать невозможно, они будут сгенерированы автоматически (0,1,2 и так далее) 

 (3) сгруппировать требуемые поля по имени (назвав их одинаковыми именами, завершающимися обязательными кавычками в виде name = "data_array[]"); в кавычках можно задать ключи - в обратном случае они будут сгенерированы автоматически (0,1,2 и так далее) 

 (4) содержимое строки 12 следует включить в предыдущий блок 


Номер 5
Чтобы при отправке данных формы была возможность корректно обработать множественный выбор элементов в тэге select с опцией multiple:

Ответ:

 (1) ничего специально делать не требуется, массив выбранных элементов будет создан в любом случае 

 (2) следует с помощью квадратных скобок ( [] ) в атрибуте name тега select указать, что передаваемые данные являются массивом выбранных значений 

 (3) сделать ничего нельзя - тег select с опцией multiple не предназначен для корректной передачи данных в PHP-сценарий; в этом случае следует вручную средствами JavaScript формировать строку запроса к сценарию, не пользуясь механизмом отправки данных из формы 

 (4) следует с помощью добавления строки "as Array" к имени элемента в атрибуте name тега select указать, что передаваемые данные являются массивом выбранных значений 


Номер 6
При отправке данных формы имена переменных (или массивов) и их значения формируются следующим образом:

Ответ:

 (1) имя берется из атрибута type элемента, a значение - из атрибута value 

 (2) имя берется из атрибута name элемента, а значение - из атрибута value 

 (3) имя берется из атрибута value элемента, а значение - из атрибута name 

 (4) имя берется из атрибута name элемента с типом "submit", а значения - из атрибута value элемента input с любым другим типом  

 (5) имя берется из атрибута value элемента с типом "submit", а значения - из атрибута value элемента input с любым другим типом 


Упражнение 12:
Номер 1
Для предоставления информации о выбранных пользователем элементах списка был разработан следующий код:

// Файл mainpage.htm:
<html><head><title>Выбор нескольких элементов</title></head><body>
<form method="POST" action="select.php">
<select name="foo[]" multiple="yes">
<option>значение1</option>
<option>значение2</option>
<option>значение3</option>
</select>
<input type="submit" value="Выбрать">
</form></body></html>


// Файл select.php:
<html><head><title>Отображение выбранных элементов</title></head><body>
Вы выбрали:
<?php
echo $_POST["foo"][0]," |",$_POST["foo"][1]," |",$_POST["foo"][2]," |";
?>
</body></html>

Пользователь выбрал элементы "значение2" и "значение3". Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) |значение2 |значение3 | 

 (3) значение1 |значение2 |значение3 | 

 (4) значение2 |значение3 | | 


Номер 2
Файл question.htm содержит следующий код:

<html><head><title>Вопрос</title></head><body>
<form method="POST" action="answer.php">
Да или нет? <br>
<input name= "__1__" type="radio" value="Да">Да <br>
<input name= "__2__" type="radio" value="Нет">Нет <br>
<input type="submit" value="Ответить">
</form></body></html>

Среди приведенных ниже пар фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания во время выполнения сценария answer.php текст ответа на вопрос ("Да" или "Нет") будет содержаться в $_POST["q"]:

Ответ:

 (1) q1 и q2 

 (2) q[] в обоих случаях 

 (3) q в обоих случаях 

 (4) решить поставленную задачу невозможно, так как работа с radiobutton происходит иным образом 


Номер 3
Для отображения ответа на заданный пользователю вопрос был разработан следующий код:

// Файл question.htm
<html><head><title>Опрос</title></head><body>
<form method="POST" action="process_answer.php">
Что бы вы хотели видеть на нашем сайте? <br>
<input name= "answer" type="radio" value="больше аналитических статей" checked>
Больше аналитических статей
<br>
<input name= "answer" type="radio" value="больше обзоров ПО">
Больше обзоров ПО
<br>
<input type="submit" value="Ответить">
</form></body></html>


// Файл process_answer.php:
<?php
echo "Текущий пользователь хотел бы видеть на сайте ";
echo ___;
?>

Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) $_POST["answer"][0] 

 (2) $_POST["radio"] 

 (3) $_POST["answer"] 

 (4) решить поставленную задачу невозможно, так как работа с radiobutton происходит иным образом 


Номер 4
Для отображения выбранного из списка вариантов значения был разработан следующий код:

Файл mainpage.htm:

<html><head><title>Выбор</title></head><body> <form method="GET" action="show_results.php"> <select name="foo"> <option>Выбранное значение 1</option> <option>Выбранное значение 2</option> </select> <input type="submit" value="Выбрать"> </form></body></html>

Файл show_results:

<html><head><title>Выбранное значение</title></head><body> Вы выбрали <?php echo ___; ?> </body></html> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) $_GET["foo"] 

 (2) $_GET["option"] 

 (3) $_GET["foo[0]"] 

 (4) $_GET["option[0]"] 


Номер 5
Для предоставления информации о введенном пользователем пароле (скрытом символами-заменителями при вводе в соображениях безопасности) был разработан следующий код:

// Файл mainpage.htm:
<html><head><title>Ввод пароля</title></head><body>
<form method="POST" action="show_pswd.php">
Введите пароль:
___
<input type="submit" value="Готово">
</form></body></html>


// Файл show_pswd:
<html><head><title>Отображение пароля</title></head><body>
Ваш пароль:
<?php
echo $_POST["pswd"];
?>
</body></html>

Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) <input name="password" type="pswd"> 

 (2) <input name="pswd" type="password"> 

 (3) <input name="password" type="password"> 

 (4) <input name="pswd" type="pswd"> 


Номер 6
Для запроса имени учетной записи пользователя (логина) и отображения приветствия после нажатия на кнопку "Login" был разработан следующий код:

// Файл mainpage.htm:
<html><head><title>Добро пожаловать</title></head><body>
<form method="POST" action="hello.php">
Введите, пожалуйста, имя своей учетной записи:
<input name="Login" type="text">
<input type="submit" name="Login" value="Login">
</form>
</body></html>


// Файл hello.php:
<html><head><title>Добро пожаловать </title></head><body>
Здравствуйте,  
<?php
echo $_POST["Login"];
?>!
</body></html>

После нажатия на кнопку "Login" всегда отображается строка " Здравствуйте, Login!". Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для элемента текстового ввода не задано свойство value, поэтому данные об этом элементе никогда не отправляются. Вместо этого отправляются данные об элементе с типом "submit", для которого name (равное "Login") и value (равное "Login") заданы 

 (2) HTML-код в mainpage.htm некорректен, т.к. содержит два элемента с одинаковыми значениями атрибутов name. Из-за этого при попытке передачи данных происходит ошибка, переменной с именем "Login" в массиве $_POST не существует, и интерпретатор подставляет вместо ее значения имя переменной, т.е. "Login" 

 (3) переменная с именем учетной записи и переменная, содержащая данные об элементе с типом "submit", имеют одно и то же имя (равное атрибуту name в каждом из элементов), поэтому данные об имени затираются данными об элементе с типом "submit" 

 (4) указанным методом передаются только данные об элементе с типом "submit". Все остальное передается в строке запроса после указанного в атрибуте формы action URL, поэтому имя учетной записи пользователя будет находиться в $_GET["Login"] 


Упражнение 13:
Номер 1
Следующий код после отправки данных оповещает пользователя о состоянии чекбокса на форме:

<?php
if(isset($_POST["check"]))
{
echo "<html><head><title>Состояние чекбокса</title></head><body>";
echo $_POST["check"];
echo "</body></html>";
}
else
{
echo "<html><head><title>Работа с чекбоксом</title></head><body>";
echo "<form method=\"POST\" action=\"";
echo $_SERVER["SCRIPT_NAME"]."\">";
echo "Чекбокс:";
echo "<input name=\"check\" type=\"checkbox\">";
echo "<input type=\"submit\" value=\"Отправить\">";
echo "</form></body></html>";
}
?>

Укажите результат выполнения сценария для случая, когда чекбокс отмечен и для случая, когда он остался неотмеченным:

Ответ:

 (1) TRUE и FALSE  

 (2) TRUE и форма с чекбоксом 

 (3) 1 и форма с чекбоксом 

 (4) on и off 

 (5) on и форма с чекбоксом  


Номер 2
Файл input.htm содержит следующий код:

<html><head><title>Вопрос</title></head><body>
<form method="POST" action="process.php?text_input=текст">
<input name="text_input" type="text">
<input type="submit" value="ОК">
</form></body></html>

Файл process.php содержит следующий код:

<?php
echo $_REQUEST["text_input"];
?>

Укажите результат выполнения сценария для случая, когда пользователь оставил текстовое поле на форме нетронутым:

Ответ:

 (1) текст 

 (2) text_input 

 (3) пустая строка 

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 3
Файл input.htm содержит следующий код:

<html><head><title>Вопрос</title></head><body>
<form method="GET" action="process.php?text_input=текст">
<input name="text_input" type="text">
<input type="submit" value="ОК">
</form></body></html>

Файл process.php содержит следующий код:

<?php
echo $_GET["text_input"];
?>

Укажите результат выполнения сценария для случая, когда пользователь оставил текстовое поле на форме нетронутым:

Ответ:

 (1) текст 

 (2) пустая строка 

 (3) text_input 

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 4
Для вывода значений координат точки на изображении, по которой щелкнул пользователь, был разработан следующий код:

// Файл html_form.htm:
<html><head><title>Избражение</title></head><body>
<form method="GET" action="show_point_coords.php">
<input type="image" src="clickme.gif" name="clickable_image">
</form>
</body></html>


// Файл show_point_coords.php:
<html><head><title>Вывод значений координат</title></head><body>
<?php
echo ___;
?>
</body></html>

Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) $_GET["image.x"],":", $_GET["image.y"] 

 (2) $_GET["image_x"],":", $_GET["image_y"] 

 (3) $_GET["clickable_image.x"],":", $_GET["clickable_image.y"] 

 (4) $_GET["clickable_image_x"],":", $_GET["clickable_image_y"] 

 (5) pешение поставленной задачи невозможно, так как такой возможности не предусмотрено 


Номер 5
Для предоставления пользователю возможности запретить отображение содержимого страницы был разработан следующий код:

<?php
if(___)
{
echo "<html><head><title>Отображаемая страница</title></head><body>";
echo "Вы запретили отображение этой страницы";
echo "</body></html>";
}
else
{
echo "<html><head><title>Отображаемая страница</title></head><body>";
echo "<form method=\"POST\" action=\"";
echo $_SERVER["SCRIPT_NAME"]."\">";
echo "Запретить отображение содержимого страницы:";
echo "<input name=\"foo\" type=\"checkbox\">";
echo "<input type=\"submit\" value=\"Применить\">";
echo "</form></body></html>";
}
?>

Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) (isset($_POST["checkbox"]))and($_POST["checkbox"]=="on") 

 (2) (isset($_POST["foo"]))and($_POST["foo"]=="on") 

 (3) $_POST["checkbox"]=="on" 

 (4) $_POST["foo"]=="on" 


Номер 6
Для отображения введенного пользователем текста с сохранением разбиения на абзацы (осуществляемого переводами строк) был разработан следующий код:

// Файл reader.htm:
<html><head><title>Ввод текста</title></head><body>
<form method="GET" action="writer.php">
<textarea name="data" cols="60" rows="10"></textarea>
<input type="submit" name="send_data" value="Отправить">
</form>
</body></html>


// Файл writer.php:
<html><head><title>Отображение текста</title></head><body>
<?php
$data = $_REQUEST["data"];
echo ___;
?>
</body></html>

Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) $data 

 (2) str_replace("\n","<br>",$data) 

 (3) implode("<br>",$data) 

 (4) "<pre>".$data."</pre>" 

 (5) pешение поставленной задачи невозможно, так как в $data не будет содержаться требуемых данных 


Упражнение 14:
Номер 1
Циклом с постусловием является:

Ответ:

 (1) do-while() 

 (2) while() 

 (3) for() 

 (4) цикла с постусловием в PHP не существует 


Номер 2
PHP поддерживает следующие циклы:

Ответ:

 (1) do-while() 

 (2) iterate() 

 (3) foreach() 

 (4) list-each() 


Номер 3
PHP поддерживает следующие циклы:

Ответ:

 (1) iterate() 

 (2) for_each() 

 (3) while()-do 

 (4) list-each() 


Номер 4
Оператор break используется для выхода из:

Ответ:

 (1) for() 

 (2) foreach() 

 (3) if() 

 (4) while() 


Номер 5
Циклом с предусловием является:

Ответ:

 (1) do-while() 

 (2) while() 

 (3) for() 

 (4) цикла с предусловием в PHP не существует 


Номер 6
Оператор continue (без указания значения параметра) используется:

Ответ:

 (1) в качестве пустого оператора 

 (2) для перехода к следующей итерации цикла 

 (3) для выхода из цикла 

 (4) аналогично break в операторе switch 

 (5) для возврата из функции и продолжения программы с точки ее вызова 


Упражнение 15:
Номер 1
Разница между require() и require_once() состоит в том, что:

Ответ:

 (1) при использовании require() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании require_once() парсинг подключаемого файла ведется в режиме PHP-кода 

 (2) при использовании require_once() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании require() парсинг подключаемого файла ведется в режиме PHP-кода 

 (3) require_once() не подключает указанный файл, если он уже был подключен 

 (4) в PHP не существует директивы require_once() 


Номер 2
Для контроля над выполнением условного ветвления (if) следует использовать:

Ответ:

 (1) elseif 

 (2) endif 

 (3) break 

 (4) continue 


Номер 3
Для контроля над выполнением условного множественного ветвления (switch) следует использовать:

Ответ:

 (1) endswitch 

 (2) defauilt 

 (3) break 

 (4) continue 


Номер 4
Разница между include() и require() состоит в том, что:

Ответ:

 (1) при использовании include() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании require() парсинг подключаемого файла ведется в режиме PHP-кода 

 (2) при использовании require() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании include() парсинг подключаемого файла ведется в режиме PHP-кода 

 (3) include() при неудаче генерирует предупреждение (warning), а require() - ошибку (fatal error) 

 (4) include() при неудаче генерирует ошибку (fatal error), а require() - предупреждение (warning) 


Номер 5
Разница между include() и include_once() состоит в том, что:

Ответ:

 (1) при использовании include() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании include_once() парсинг подключаемого файла ведется в режиме PHP-кода 

 (2) при использовании include_once() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании include() парсинг подключаемого файла ведется в режиме PHP-кода 

 (3) include_once() не подключает указанный файл, если он уже был подключен 

 (4) в PHP не существует директивы include_once()  


Номер 6
В конструкции for(выражение1; выражение2; выражение3) {тело цикла} элементы "выражение1", "выражение2", "выражение3"ведут себя следующим образом:

Ответ:

 (1) каждое из выражений вычисляется в начале каждой итерации 

 (2) выражение1 вычисляется один раз в начале цикла, остальные - вычисляются в начале каждой итерации 

 (3) выражение1 вычисляется один раз в начале цикла, остальные - вычисляются в конце каждой итерации 

 (4) выражение1 вычисляется один раз в начале цикла, выражение2 - в начале каждой итерации, выражение3 - в конце каждой итерации 

 (5) выражение1 вычисляется один раз в начале цикла, выражение2 - в конце каждой итерации, выражение3 - в начале каждой итерации 


Упражнение 16:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array(true,false,true,NULL,true);
$s = "1";
for($i=0;$i<count($a);$i++)
{
	if($i%5 == 0)continue;
	if($a[$i]%2 == 0)break;
	$s+=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4) 11 

 (5) 111 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array(1,false,2,3,true);
$s = "bar";
for($i=0;$i<count($a);$i++)
{
	if($i%5 == 0)continue;
	if( - $a[$i]% -1 == 0)break;
	$s+=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2) bar123 

 (3)

 (4) bar 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array(1,2,3,2,1);
$s = <<;
for($i=0;$i<count($a);$i++)
{
	if($i%5 == 0)continue;
	if( $a[$i]% -3 >= 0)break;
	$s.=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) пустая строка 

 (2) 12321 

 (3) 1232 

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array(2,4,6,8,1);
$s = 2;
for($i=0;$i<count($a);$i++)
{
	if($i%2 == 0)continue;
	if($a[$i]%8 == 0)break;
	$s+=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3) 10 

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array(true,true,true,true,true);
$s = "1";
for($i=0;$i<count($a);$i++)
{
	if($i%5 == 0)continue;
	if($a[$i]%8 == 0)break;
	$s+=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3)

 (4) 1111 

 (5) 11111 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array(4,3,6,8,7);
$s = 0;
for($i=0;$i<count($a);$i++)
{
	if($i%2 == 0)continue;
	if($a[$i]%2 == 0)break;
	$s+=$a[$i];
}
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3) 11 

 (4) cценарий не будет выполнен, т.к. код содержит ошибки 


Упражнение 17:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if(strlen($a) && $a)
	echo "Foo";
if($a ! $a-1)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите  вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) -1 

 (2) 1 

 (3) "-1" 

 (4) "1" 

 (5) cценарий в любом случае не выполняется, так как в коде есть ошибки 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if(strlen($a) && $a)
	echo "Foo";
if($a && $a - 1)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) -1 

 (2) 1 

 (3) "-1" 

 (4) "1" 

 (5) cценарий в любом случае не выполняется, так как в коде есть ошибки 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if(strlen($a) || $a)
	echo "Foo";
if($a)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите  вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) -1 

 (2) 1 

 (3) "-1" 

 (4) "1" 

 (5) "0" 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if(strlen($a) > 0)
	echo "Foo";
if($a || $a)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) true 

 (2) false 

 (3) -1 

 (4) 0 

 (5) 1 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if(strlen($a) != 0)
	echo "Foo";
if($a + !$a)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) -1 

 (2) 1 

 (3) "-1" 

 (4) "1" 

 (5) "NULL" 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = ___;
if($a <= 12)
	echo "Foo";
if($a < 9)
	echo "ooF";
else
	echo "bar";
?>

Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "Foobar":

Ответ:

 (1) 11 

 (2) 15 

 (3) 9 

 (4) 12 

 (5) 8 


Упражнение 18:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$msg = 1;
$day = false;
switch($day)
{
	case "1": case array(1): $msg+="1";break;
	case "-1": case array(): $msg+="2";break;
	default: $msg+="1";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) 13 

 (2)

 (3) 11 

 (4)

 (5)


Номер 2
PHP-сценарий содержит следующий код:

<?php
$msg = false;
$day = false;
switch($day)
{
	case "1": case array(1): $msg*="1";break;
	case "-1": case array(): $msg*="2";break;
	default: $msg*="1";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2) -2 

 (3) -1 

 (4) пустая строка 

 (5) сценарий не будет выполнен, т.к. код содержит ошибки 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$msg = array(1);
$day = 2;
switch($day)
{
	case "1": case array(1): $msg*="1";break;
	case "-1": case array(): $msg*="2";break;
	default: $msg*="1";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1)

 (2)

 (3) NULL 

 (4) пустая строка 

 (5) сценарий не будет выполнен, т.к. код содержит ошибки 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$msg = true;
$day = "Суббота";
switch($day)
{
	case "1": case "Воскресенье": $msg.="1";break;
	case "2": case "Среда": $msg.="2";break;
	default: $msg.="3";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) TRUE123 

 (2) TRUE3 

 (3) 1123 

 (4) 13 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$msg = false;
$day = true;
switch($day)
{
	case "1": case "Правда": $msg+="1";break;
	case "2": case "Ложь": $msg+="2";break;
	default: $msg+="3";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) TRUE3 

 (2) 4 

 (3) 13 

 (4) 11 

 (5) 1 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$msg = "0";
$day = "Пятница";
switch($day)
{
	case "1": case "Понедельник": $msg+="1";break;
	case "2": case "Вторник": $msg+="2";break;
	default: $msg+="3";break;
}
echo $msg;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) 0123 

 (2) 03 

 (3) 6 

 (4) 3 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Упражнение 19:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array("1","3","2","4","3");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет строка "----":

Ответ:

 (1) вместо __1__: $value

Вместо __2__: $value = ""

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value = $value < 0

 

 (3) вместо __1__: &$value

Вместо __2__: $value = ""

 

 (4) вместо __1__: &$value

Вместо __2__: $value = $value < 0

 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array("1","3","2","4","3");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет строка "1-1-1-1-1":

Ответ:

 (1) вместо __1__: &$value

Вместо __2__: $value = ""

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value = $value < 0

 

 (3) вместо __1__: $key => $value

Вместо __2__: $a[$key] = ""

 

 (4) вместо __1__: $key => $value

Вместо __2__: $a[$key] = $a[$key] < 0

 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array("1","3","2","4","3");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет пустая строка:

Ответ:

 (1) вместо __1__: &$value

Вместо __2__: $value = "";

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value = $value < 0

 

 (3) вместо __1__: $key => $value

Вместо __2__: $a[$key] = ""; unset($a[$key+1])

 

 (4) вместо __1__: $key => $value

Вместо __2__: unset($a[$key])

 

 (5) ни один из вариантов не решает поставленную задачу 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array("3","4","7","4","9");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет строка "1-1-1-1-1":

Ответ:

 (1) вместо __1__: $value

Вместо __2__: $value = 1

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value = 1

 

 (3) вместо __1__: $key => $value

Вместо __2__: $a[$key] = 1

 

 (4) вместо __1__: &$value

Вместо __2__: $value = 1

 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array("3","4","7","4","9");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет строка "1-1-1-1-1":

Ответ:

 (1) вместо __1__: $value

Вместо __2__: $value = 1

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value = $value > 0

 

 (3) вместо __1__: &$value

Вместо __2__: $value = 1

 

 (4) вместо __1__: &$value

Вместо __2__: $value = $value > 0

 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array("5","6","7","8","9");
foreach($a as __1__ )
{
	__2__;
}
echo implode("-",$a);
?>

Среди приведенных ниже пар фрагментов укажите все варианты пар, при подстановке которых вместо знаков подчеркивания результатом выполнения сценария станет строка "6-7-8-9-10":

Ответ:

 (1) вместо __1__: $value

Вместо __2__: $value += 1

 

 (2) вместо __1__: $key => $value

Вместо __2__: $value += 1

 

 (3) вместо __1__: $key => $value

Вместо __2__: $a[$key] += 1

 

 (4) вместо __1__: &$value

Вместо __2__: $value += 1

 

 (5) вместо __1__: &key => $value

Вместо __2__: $value += 1

 


Упражнение 20:
Номер 1
Оператор "не равно", работающий с массивами, выглядит как

Ответ:

 (1) <> 

 (2) != 

 (3) >< 

 (4) понятие "не равно" для массивов не определено, т.к. составные (compound) объекты сравнивать нельзя 


Номер 2
При вычислении разности двух массивов:

Ответ:

 (1) ключи массива слева от '-' удаляются вместе со значениями, если такие ключи существуют в массиве справа от '-' 

 (2) ключи массива слева от '-' удаляются вместе со значениями, если такие ключи существуют в массиве справа от '-' 

 (3) элементы с одинаковыми значениями не попадают в массив, являющийся результатом операции, а ключи генерируются заново 

 (4) понятие разности для массивов не определено 


Номер 3
При умножении двух массивов:

Ответ:

 (1) значения массива слева от '*' становятся ключами, которым соответствуют значения, каждое из которых равно массиву справа от '*' 

 (2) значения массива справа от '*' становятся ключами, которым соответствуют значения, каждое из которых равно массиву слева от '*' 

 (3) значения элементов с одинаковыми ключами становятся значениями массива, являющегося результатом операции (их ключи сохраняются), а остальные значения опускаются 

 (4) понятие умножения для массивов не определено 


Номер 4
Два массива тождественно равны, если:

Ответ:

 (1) они содержат одинаковые значения 

 (2) они содержат одинаковые пары ключ => значение 

 (3) они содержат одинаковые пары ключ => значение в одинаковом порядке 

 (4) понятие тождественного равенства для массивов не определено 


Номер 5
При объединении двух массивов операцией '+':

Ответ:

 (1) ключи массива слева от '+' перезаписываются, если такие ключи существуют в массиве справа от '+' 

 (2) ключи массива слева от '+' не перезаписываются, если такие ключи существуют в массиве справа от '+' 

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

 (4) понятие объединения для массивов не определено 


Номер 6
При использовании в массивах в качестве ключей:

Ответ:

 (1) пустое строковое значение будет использоваться как ключ, значение которого равно пустой строке 

 (2) значение булева типа будет использоваться как целочисленный ключ: 1 (в случае TRUE) или 0 (в случае FALSE)  

 (3) значение булева типа будет использоваться как строковый ключ: "true" (в случае TRUE) или "false" (в случае FALSE)  

 (4) значение NULL будет использоваться как целочисленный ключ (0) 

 (5) значение NULL будет использоваться как строковый ключ, значение которого равно пустой строке 


Упражнение 21:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 14, 4 ), array( 5, 5 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите  варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "5 14 5 4":

Ответ:

 (1) $a[1][0]," ",$a[0][1]," ",$a[0][0]," ",$a[1][1] 

 (2) $a[1][1]," ",$a[0][0]," ",$a[1][0]," ",$a[0][1] 

 (3) $a[2][1]," ",$a[1][2]," ",$a[1][1]," ",$a[2][2] 

 (4) $a[2][2]," ",$a[1][1]," ",$a[2][1]," ",$a[1][2] 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 87, 56 ), array( 4, 4 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "4 87 4 56":

Ответ:

 (1) $a[1][0]," ",$a[0][1]," ",$a[0][0]," ",$a[1][1] 

 (2) $a[1][1]," ",$a[0][0]," ",$a[1][0]," ",$a[0][1] 

 (3) $a[2][1]," ",$a[1][2]," ",$a[1][1]," ",$a[2][2] 

 (4) $a[2][2]," ",$a[1][1]," ",$a[2][1]," ",$a[1][2] 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 90, 87 ), array( 10, 11 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите  вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "11 90 10 87":

Ответ:

 (1) $a[1][0]," ",$a[0][1]," ",$a[0][0]," ",$a[1][1] 

 (2) $a[1][1]," ",$a[0][0]," ",$a[1][0]," ",$a[0][1] 

 (3) $a[2][1]," ",$a[1][2]," ",$a[1][1]," ",$a[2][2] 

 (4) $a[2][2]," ",$a[1][1]," ",$a[2][1]," ",$a[1][2] 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 2, 3 ), array( 4, 5 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "5 2 3 4":

Ответ:

 (1) $a[1][0]," ",$a[0][1]," ",$a[0][0]," ",$a[1][1] 

 (2) $a[1][1]," ",$a[0][0]," ",$a[0][1]," ",$a[1][0] 

 (3) $a[2][1]," ",$a[1][2]," ",$a[1][1]," ",$a[2][2] 

 (4) $a[2][2]," ",$a[1][1]," ",$a[1][2]," ",$a[2][1] 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 2, 6 ), array( 7, 5 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "5 2 7 6":

Ответ:

 (1) $a[1][0]," ",$a[0][1]," ",$a[0][0]," ",$a[1][1] 

 (2) $a[1][1]," ",$a[0][0]," ",$a[1][0]," ",$a[0][1] 

 (3) $a[2][1]," ",$a[1][2]," ",$a[1][1]," ",$a[2][2] 

 (4) $a[2][2]," ",$a[1][1]," ",$a[2][1]," ",$a[1][2] 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 11, 22 ), array( 33, 44 ) );
echo ___;
?>

Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения сценария станет строка "11 33 22 44":

Ответ:

 (1) $a[0][0]," ",$a[0][1]," ",$a[1][0]," ",$a[1][1] 

 (2) $a[0][0]," ",$a[1][0]," ",$a[0][1]," ",$a[1][1] 

 (3) $a[1][1]," ",$a[1][2]," ",$a[2][1]," ",$a[2][2] 

 (4) $a[1][1]," ",$a[2][1]," ",$a[1][2]," ",$a[2][2] 


Упражнение 22:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 15, 34 ), array( 4, 1 ) );
$b = array( 1 );
$b = &$a;
$a[0][1] = $a[1][1] = 66;
echo $b[0][1]," ",$b[1][1]," ",$b[1][0]," ",$b[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 34 1 4 1 

 (3) 66 1 66 4 

 (4) 66 66 4 66 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 111, 222 ), array( 333, 111 ) );
$b = array( 23 );
$b = &$a;
$a[0][1] = $a[1][1] = 63;
echo $b[1][1]," ",$b[1][0]," ",$b[0][0]," ",$b[0][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 111 333 111 222 

 (3) 63 23 111 333 

 (4) 63 333 111 63 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 54, 45 ), array( 363, 162 ) );
$b = array( 3 );
$b = &$a;
$a[0][1] = $a[1][0] = 63;
echo $b[1][1]," ",$b[0][0]," ",$b[1][0]," ",$b[0][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 162 54 363 45 

 (3) 162 63 63 54 

 (4) 162 54 63 63 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 4, 5 ), array( 2, 3 ) );
$b = array( 11 );
$b = &$a;
$a[0][1] = $a[1][0] = 77;
echo $b[0][0]," ",$b[0][1]," ",$b[1][0]," ",$b[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 4 5 4 3 

 (3) 4 77 77 3 

 (4) 77 5 2 77 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 2, 4 ), array( 2, 3 ) );
$b = array( 1 );
$b = &$a;
$a[0][1] = $a[1][0] = 33;
echo $b[0][1]," ",$b[0][0]," ",$b[1][0]," ",$b[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 4 2 2 3 

 (3) 33 2 33 3 

 (4) 4 33 2 33 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 11, 22 ), array( 33, 44 ) );
$b = array( 10 );
$b = &$a;
$a[0][0] = $a[1][1] = 77;
echo $b[0][0]," ",$b[0][1]," ",$b[1][0]," ",$b[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 11 22 33 44 

 (3) 10 22 33 44 

 (4) 77 22 33 77 


Упражнение 23:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 2, 3 ), array( 99, 0 ) );
$b = &$a[0]; $b[1] = 9;
$b = &$a[1]; $b[0] = 8;
echo $a[0][0]," ",$a[1][1]," ",$a[1][0]," ",$a[0][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 2 0 99 3 

 (3) 8 0 9 3 

 (4) 2 0 8 9 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 45, 54 ), array( 67, 76 ) );
$b = &$a[0]; $b[1] = 1;
$b = &$a[1]; $b[0] = 9;
echo $a[0][0]," ",$a[0][1]," ",$a[1][0]," ",$a[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 45 1 67 9 

 (3) 1 45 9 76 

 (4) 45 1 9 76 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 1, 95 ), array( 59, 9 ) );
$b = &$a[1]; $b[1] = 2;
$b = &$a[1]; $b[0] = 3;
echo $a[0][0]," ",$a[1][0]," ",$a[0][1]," ",$a[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 95 59 9 

 (3) 1 95 3 2 

 (4) 1 3 95 2 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 2, 15 ), array( 3, 14 ) );
$b = &$a[0]; $b[0] = 66;
$b = &$a[1]; $b[1] = 55;
echo $a[0][0]," ",$a[0][1]," ",$a[1][0]," ",$a[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 15 3 14 

 (3) 66 15 3 55 

 (4) 66 2 14 55 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 111, 15 ), array( 5, 15 ) );
$b = &$a[0]; $b[0] = 23;
$b = &$a[1]; $b[1] = 42;
echo $a[0][0]," ",$a[0][1]," ",$a[1][0]," ",$a[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 15 5 15 

 (3) 23 15 5 42 

 (4) 23 111 15 42 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array( array( 11, 22 ), array( 33, 44 ) );
$b = &$a[0]; $b[0] = 77;
$b = &$a[1]; $b[1] = 88;
echo $a[0][0]," ",$a[0][1]," ",$a[1][0]," ",$a[1][1];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 11 22 33 44 

 (3) 77 22 33 88 

 (4) 77 22 88 44 


Упражнение 24:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array( NULL,1,NULL,1,NULL,1 );
echo next($a),"|",prev($a),"|",prev($a),"|",next($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 |1 |NULL |NULL | 

 (3) 1 |NULL | NULL | NULL | 

 (4) |1 | | | 

 (5) 1 | | | | 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array( true,-1,true,-1,true,NULL );
echo prev($a),"|",next($a),"|",prev($a),"|",prev($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 |-1 |NULL |NULL | 

 (3) 1 |NULL | NULL | NULL | 

 (4) 1|-1 | | | 

 (5) | | | | 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array( array(),1,true,false,true,NULL );
echo next($a),"|",prev($a),"|",prev($a),"|",next($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 |Array |NULL |NULL | 

 (3) 1 |NULL | NULL | NULL | 

 (4) 1| | | | 

 (5) 1 |Array| | | 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array( 0,9,8,1,2,3 );
echo prev($a),"|",prev($a),"|",next($a),"|",next($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 0 |NULL |NULL |NULL | 

 (3) 0 |NULL |0 |9 | 

 (4) | |0 |9 | 

 (5) | | | | 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array( 4,1,2,1,3,1 );
echo next($a),"|",prev($a),"|",prev($a),"|",next($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 |4 |NULL |NULL | 

 (3) 4 |NULL | NULL | NULL | 

 (4) |1 |4 | | | 

 (5) | | | | 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array( 1,2,3,4,5,6 );
echo next($a),"|",prev($a),"|",prev($a),"|",next($a),"|";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 |NULL |NULL |NULL | 

 (3) 1 |NULL |NULL |1 | 

 (4) 2 |1 |NULL |1 | 

 (5) 2 |1 | | | 


Упражнение 25:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	"001" => "1", 	"002" => "2", 	"13" => "3", 
			"14" => "4", 	"55" => "5", 	"66" => "6" );
rsort($b);
echo implode(" ", $a+$a);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 2 3 4 5 6  

 (3) 6 5 4 3 2 1 1 2 3 4 5 6 

 (4) 1 2 3 4 5 6 6 5 4 3 2 1 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	"a" => "1", 	"1" => "2", 	"v" => "3", 
			"2" => "4", 	"b" => "5", 	"3" => "6" );
rsort($b);
echo implode(" ", $b+$b);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 2 3 4 5 6  

 (3) 6 5 4 3 2 1 

 (4) 1 2 3 4 5 6 6 5 4 3 2 1 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	34 => "1", 	"34" => "2", 	2 => "3", 
			"2" => "4", 	6 => "5", 	"6" => "6" );
rsort($b);
echo implode(" ", $b+$a);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 2 4 6 6 4 

 (3) 6 4 2 2 6 

 (4) 6 4 2 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	"1d" => "1", 	"2s" => "2", 	"1f" => "3", 
			"02" => "4", 	"01" => "5", 	"03" => "6" );
rsort($b);
echo implode(" ", $b+$a);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 2 3 4 5 6  

 (3) 6 5 4 3 2 1 

 (4) 6 5 4 3 2 1 1 2 3 4 5 6 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	"00a" => "1", 	"00b" => "2", 	"1a" => "3", 
			"1b" => "4", 	"56" => "5", 	"65" => "6" );
rsort($b);
echo implode(" ", $a+$b);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 2 3 4 5 6  

 (3) 6 5 4 3 2 1 1 2 3 4 5 6 

 (4) 1 2 3 4 5 6 6 5 4 3 2 1 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$b = $a = array( 	"1" => "1", 	"2" => "2", 	"11" => "3", 
"12" => "4", 	"21" => "5", 	"22" => "6" );
rsort($b);
echo implode(" ", $b+$a);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 1 2 3 4 5 6 4 3 2 1 

 (3) 1 2 3 4 5 6 6 3 2 1 

 (4) 6 5 4 3 2 1 3 4 5 6 

 (5) 6 5 4 3 2 1 


Упражнение 26:
Номер 1
Оператор поиска количества вхождений подстроки ( / ) работает следующим образом:

Ответ:

 (1) для строкового типа этот оператор не определен 

 (2) возвращает количество вхождений строки справа от оператора в строку слева от оператора; если подстрока не найдена - возвращает 0 

 (3) возвращает массив строк, полученный из строки слева от оператора путем разбиения подстрокой справа от оператора; если подстрока не найдена - возвращает пустой массив 

 (4) возвращает массив строк, полученный из строки слева от оператора путем разбиения подстрокой справа от оператора; если подстрока не найдена - возвращает массив с единственным элементом, равным исходной строке 


Номер 2
Оператор объединения строк  ( * ) работает следующим образом:

Ответ:

 (1) для строкового типа этот оператор не определен 

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

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

 (4) воспринимает строки как массивы символов и объединяет их соответствующим образом 


Номер 3
Работа с одиночными символами происходит следующим образом:

Ответ:

 (1) никак не происходит, такая функциональность отсутствует 

 (2) с помощью угловых ( < > ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым) 

 (3) с помощью квадратных ( [] ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым); такой синтаксис не рекомендуется, т.к. может возникнуть смысловой конфликт: воспринимать конструкцию типа $stroka[$index] как обращение к символу в строке или как обращение к элементу массива 

 (4) с помощью круглых ( () ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым) 


Номер 4
При использовании двойных ("") кавычек имена переменных обрабатываются следующим образом:

Ответ:

 (1) никак не обрабатываются 

 (2) знак $ захватывает максимум символов для формирования имени, соответствующего правилам наименования переменных 

 (3) знак $ захватывает максимум символов для формирования имени переменной, хотя бы один раз использовавшейся ранее 

 (4) если после знака $ находится имя переменной, доступной в текущей области видимости, генерируется ошибка 


Номер 5
Оператор арифметического сложения (+) работает со строками следующим образом:

Ответ:

 (1) никак не работает 

 (2) так же как и оператор конкатенации 

 (3) происходит приведение строки к целочисленному типу или типу чисел с плавающей точкой, затем происходит сложение 

 (4) результатом работы этого оператора со строковыми выражениями всегда является пустая строка 


Номер 6
При выводе строки, в случае если ее содержимое заключается в одинарные ( ' ) кавычки, следует использовать обратную косую черту ( \ ) при:

Ответ:

 (1) экранировании одинарных кавычек ( ' ) - иначе строка будет разорвана 

 (2) экранировании двойных кавычек ( " ) - иначе строка будет разорвана 

 (3) использовании управляющих последовательностей 

 (4) экранировании символа обратной косой черты ( \ ) с целью его отображения - иначе он не будет выведен при отображении строки 


Упражнение 27:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$s1 = "s = "; $s1 += "45" . "56";
$s2 = "s = "; $s2 .= "45" + "56";
$s3 = "56" . "45";
echo "|".($s1 !== $s2)." |".($s1 === $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | |1 | 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$s1 = "string = "; $s1 += "11" . "rt4";
$s2 = "string = "; $s2 .= "11" . "rt4";
$s3 = "56" + "rt4";
echo "|".($s1 === $s2)." |".($s1 === $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | | | 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$s1 = "strng = "; $s1 .= "s1" + "s2";
$s2 = "strng = "; $s2 += "s1" + "s2";
$s3 = "s1" + "s2";
echo "|".($s1 != $s2)." |".($s1 !== $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | |1 | 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$s1 = "str = "; $s1 += "22" . "33";
$s2 = "str = "; $s2 .= "33" + "55";
$s3 = "22" + "33";
echo "|".($s1 == $s2)." |".($s1 != $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | |1 | 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$s1 = "var = "; $s1 += "12" + "67";
$s2 = "var = "; $s2 .= "67" + "12";
$s3 = "12" + "67";
echo "|".($s1 !== $s2)." |".($s1 != $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | |1 | 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$s1 = "foo = "; $s1 += "22" + "33";
$s2 = "foo = "; $s2 .= "22" . "33";
$s3 = "22" + "33";
echo "|".($s1 == $s2)." |".($s1 == $s3)." |";
?>

Укажите результат выполнения сценария:

Ответ:

 (1) |true |false | 

 (2) |false |true | 

 (3) |1 | | 

 (4) | | 1| 

 (5) cценарий не будет выполнен, т.к. код содержит ошибки 


Упражнение 28:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$a = array( "STRING1", "STRING2" );
echo $a[1]{6}.$a[0][2].$a[1]{3}.$a[0][4].$a[1]{5};
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) 2RING 

 (3) 2IG 

 (4) RN 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$a = array( "SOME STRING", "ANOTHER STRING" );
echo $a[1][1].$a[0]{1}.$a[1][9].$a[0]{3};
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) NOTE 

 (3) NT 

 (4) OE 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$a = array( "USELESS STRING", "SOME TEXT" );
echo $a[0][3].$a[0]{11}.$a[1][0].$a[1]{8}.$a[0][11].$a[0]{12}.$a[0][13];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) LISTING 

 (3) LSIG 

 (4) ITN 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$a = array( "КОШКА", "СОБАКА" );
echo "Р".$a[1]{3}.$a[0][3];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) РАК 

 (3) РА 

 (4) РК 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$a = array( "PROGRAMMING", "HYPERTEXT" );
echo "P".$a[1]{0}.$a[0][0];
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) PHP 

 (3) РP 

 (4) РH 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$a = array( "ПЕРВЫЙ", "ВТОРОЙ" );
echo "Р".$a[1][2].$a[0]{5};
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) РОЙ 

 (3) РO 

 (4) РЙ 


Упражнение 29:
Номер 1
PHP-сценарий содержит следующий код:

<?php
$s = "11112223333";
echo $f1 = ($s{1}>=1 && $s{5}<23)," ? ";
echo $f2 = ($s{strlen($s)-2}==3 && $s{strlen($s)-5}==2);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) false и true  

 (3) и 1 

 (4) true и true 

 (5) 1 и 1 


Номер 2
PHP-сценарий содержит следующий код:

<?php
$s = "telephone_number";
echo $f1 = ($s{1}>="w" && $s{5}<"f")," ? ";
echo $f2 = ($s{strlen($s)-2}!=3 && $s{strlen($s)-5}!=2);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) true и true  

 (3) 1 и 1  

 (4) false и true 

 (5) ? 1 


Номер 3
PHP-сценарий содержит следующий код:

<?php
$s = "122341223443321";
echo $f1 = ($s{1}>="12" && $s{5}<"21")," ? ";
echo $f2 = ($s{strlen($s)-3}!=2 && $s{strlen($s)-8}!=false);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) true и true  

 (3) 1 и 1  

 (4) false и true 

 (5) и 1 


Номер 4
PHP-сценарий содержит следующий код:

<?php
$s = "743_33_2344";
echo $f1 = ($s{0}>1 && $s{0}<8)," и ";
echo $f2 = ($s{strlen($s)-1}==7 || $s{strlen($s)-1}==4);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) true и true  

 (3) 1 и 1  

 (4) true и false 

 (5) 1 и 


Номер 5
PHP-сценарий содержит следующий код:

<?php
$s = "11112223333";
echo $f1 = ($s{2}>1 && $s{3}<8)," и ";
echo $f2 = ($s{strlen($s)-1}==4 || $s{strlen($s)-1}==3);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) false и true  

 (3) и 1  

 (4) true и false 

 (5) 1 и 


Номер 6
PHP-сценарий содержит следующий код:

<?php
$s = "321_45_678";
echo $f1 = ($s{0}>1 && $s{0}<8)," и ";
echo $f2 = ($s{strlen($s)-1}==7 && $s{strlen($s)-1}==4);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) true и true  

 (3) 1 и 1  

 (4) true и false 

 (5) 1 и 


Упражнение 30:
Номер 1
Для нахождения первого вхождения непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строке с учетом регистра символов и возврата части исходной строки, начиная с этого вхождения, был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
$n = ___;
if($n!==FALSE)
	echo "Выбранная подстрока: ".$n;
else
	echo "Подстрока не найдена";
?>

Среди приведенных ниже фрагментов укажите  вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle) 

 (2) strpos($haystack, $needle) 

 (3) strrpos($haystack,$needle) 

 (4) strstr($needle,$haystack) 


Номер 2
Для замены вхождений непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строке с учетом регистра символов на шаблонную строку "{TEMP}" был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
$n = ___;
echo "Результат: ".$n;
?>

Среди приведенных ниже фрагментов укажите  вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle, "{TEMP}") 

 (2) str_replace($needle,"{TEMP}",$haystack) 

 (3) strrpos($haystack,$needle, "{TEMP}") 

 (4) str_replace($haystack,$needle,"{TEMP}") 


Номер 3
Для поиска количества вхождений непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строку с учетом регистра был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
$n = ___;
echo "Результат: ".$n;
?>

Среди приведенных ниже фрагментов укажите  вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle) 

 (2) str_replace($needle, $haystack) 

 (3) substr_count($haystack,$needle) 

 (4) substr_count($needle,$haystack) 


Номер 4
Для нахождения первого вхождения непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строке с учетом регистра символов был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
$n = ___;
if($n!==FALSE)
	echo "Первое найденное вхождение - на символе №".$n;
else
	echo "Подстрока не была найдена";
?>

Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle) 

 (2) strpos($haystack, $needle) 

 (3) strrpos($haystack,$needle) 

 (4) strpos($needle, $haystack) 


Номер 5
Для нахождения последнего вхождения непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строке с учетом регистра символов был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
$n = ___;
if($n!==FALSE)
	echo "Последнее найденное вхождение - на символе №".$n;
else
	echo "Подстрока не была найдена";
?>

Среди приведенных ниже фрагментов укажите  вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle) 

 (2) strpos($haystack, $needle) 

 (3) strrpos($haystack,$needle) 

 (4) strrpos($needle, $haystack) 


Номер 6
Для нахождения непустой подстроки (передающейся в сценарий методом GET в переменной foo) в строке с учетом регистра символов был разработан следующий код:

<?php
$haystack = "Строка, содержащая искомое значение";
$needle = $_GET["foo"];
if(___)
	echo "Подстрока была найдена";
else
	echo "Подстрока не была найдена";
?>

Среди приведенных ниже фрагментов укажите все варианты кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:

Ответ:

 (1) strstr($haystack,$needle)!==FALSE 

 (2) strstr($haystack,$needle)!=FALSE 

 (3) strrpos($haystack,$needle)!==FALSE 

 (4) strrpos($haystack,$needle)!=FALSE 


Упражнение 31:
Номер 1
По умолчанию передача параметров в функции осуществляется:

Ответ:

 (1) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции уничтожается 

 (2) по ссылке; параметры функций - это переменные, ссылающиеся на переменные, указанные как аргументы функции 

 (3) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции сохраняется как статическая переменная 

 (4) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции сохраняется как глобальная переменная 


Номер 2
В функции определена переменная $var с ключевым словом global (в глобальной области видимости эта переменная существует); что произойдет после unset($var)?

Ответ:

 (1) глобальная переменная будет сброшена, а ее значение - потеряно 

 (2) к переменной, содержащей ссылку, нельзя применить unset() 

 (3) переменная $var в локальной области видимости функции будет сброшена и перестанет указывать на глобальную переменную $var; с глобальной переменной $var ничего не произойдет 

 (4) будет сгенерирована ошибка 


Номер 3
В функции func1() определена функция func2(); что произойдет после вызова func2(), если на момент этого вызова func1() еще не была выполнена?

Ответ:

 (1) ничего не произойдет, все соответствует правилам языка PHP 

 (2) будет сгенерирована ошибка 

 (3) будет вызвана функция с пустым телом и отсутствием возвращаемого значения 

 (4) будет автоматически вызвана функция func1(), затем будет вызвана func2() 


Номер 4
PHP-сценарий содержит следующий код:

<?php
function foo($bar) {$bar($$bar);}
function bar($foo) {echo $foo;}
$foo = foo;
$bar = bar;
$foo($bar);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) foobar 

 (4) пустая строка 

 (5) функция foo() будет вызывать саму себя 


Номер 5
Механизм передачи переменного количества параметров реализуется с помощью следующих функций:

Ответ:

 (1) func_num_args() 

 (2) func_get_arg() 

 (3) func_get_args_num() 

 (4) function_argument() 

 (5) func_get_args() 


Номер 6
Возможность вызова пользовательских функций зависит от порядка их определения следующим образом:

Ответ:

 (1) любая пользовательская функция должна быть определена перед тем, как она будет использована 

 (2) любая пользовательская функция может быть сначала вызвана, а затем определена 

 (3) определены перед использованием должны быть только пользовательские функции, определенные в блоке, выполнение которого зависит от какого-либо условия (например, в блоке if или в теле другой функции) 

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


Упражнение 32:
Номер 1
PHP-сценарий содержит следующий код:

<?php
function foo(&$foo) {($foo!="foo")?bar($foo):$foo.="bar";return $foo;}
function bar(&$bar) {echo $bar;}
$foo = foo;
$bar = bar;
$foo(foo($foo));
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) foobar 

 (4) пустая строка 

 (5) в процессе выполнения сценария будет произведена попытка вызова функции с недопустимым именем 


Номер 2
PHP-сценарий содержит следующий код:

<?php
function foo(&$foo) {($foo!="foo")?bar($foo):$foo.="bar";return $foo;}
function bar(&$bar) {echo ($bar!="foo")?$bar:$bar($bar);}
$foo = bar;
$bar = foo;
$foo(foo($foo));
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) foobar 

 (4) barbar 

 (5) функция foo() будет вызывать саму себя 


Номер 3
PHP-сценарий содержит следующий код:

<?php
function foo(&$foo) {($foo!="foo")?bar($$foo):$foo.="bar";return $$foo;}
function bar(&$bar) {echo ($bar!="foo")?$bar:$bar($bar);}
$foo = bar;
$bar = foo;
$foo(foo($$foo));
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) foobar 

 (4) barbar 

 (5) пустая строка 


Номер 4
PHP-сценарий содержит следующий код:

<?php
function foo($bar) {$bar($$bar);}
function bar($foo) {echo $foo;}
$foo = foo;
$bar = bar;
$foo($bar);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) foobar 

 (4) пустая строка 

 (5) функция foo() будет вызывать саму себя 


Номер 5
PHP-сценарий содержит следующий код:

<?php
function foo($foo) {$$bar($$foo);}
function bar($bar) {echo $bar;}
$foo = foo;
$bar = bar;
$foo($bar);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) foo 

 (2) bar 

 (3) пустая строка 

 (4) функция foo() будет вызывать саму себя 

 (5) в процессе выполнения сценария будет произведена попытка вызова функции с недопустимым именем 


Номер 6
PHP-сценарий содержит следующий код:

<?php
function foo($foo) {echo $foo;}
function bar($bar) {$bar(bar);}
$foo = bar;
$bar = foo;
$foo($bar);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) foo 

 (3) bar 

 (4) foobar 

 (5) пустая строка 


Упражнение 33:
Номер 1
PHP-сценарий содержит следующий код:

<?php
function foo($bar) 
{
	echo ($bar)?$GLOBALS[foo]:$bar;
}
$foo = "bar";
foo($foo);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) bar 

 (3) foobar 

 (4) barbar 

 (5) пустая строка 


Номер 2
PHP-сценарий содержит следующий код:

<?php
function foo($bar) 
{
	echo ($GLOBALS[$bar])?$GLOBALS[$bar]:$bar;
}
$foo = "bar";
foo($foo);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) bar 

 (3) foobar 

 (4) barbar 

 (5) пустая строка 


Номер 3
PHP-сценарий содержит следующий код:

<?php
function foo($bar) 
{
	echo ($bar)?$bar:$GLOBALS[$bar];
}
$bar = $foo = "bar";
foo($$foo);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) bar 

 (3) foobar 

 (4) barbar 

 (5) пустая строка 


Номер 4
PHP-сценарий содержит следующий код:

<?php
function foo($bar) 
{
echo $$bar;
}
$bar = "bar";
foo($bar);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) bar 

 (3) пустая строка 

 (4) $bar 


Номер 5
PHP-сценарий содержит следующий код:

<?php
function foo($bar) 
{
	echo $foo;
}
$foo = "bar";
foo($foo);
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) bar 

 (3) пустая строка 

 (4) функция foo() будет вызывать саму себя 


Номер 6
PHP-сценарий содержит следующий код:

<?php
function foo() 
{
echo $bar;
}
$bar = "значение переменной";
foo();
?>

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

Ответ:

 (1) на момент определения функции foo() переменная $bar не определена, и попытка получить ее значение завершается неудачей 

 (2) происходит попытка вызова функции foo() до ее определения, завершающаяся неудачей (т.к. любая пользовательская функция должна быть определена перед тем, как она будет использована) 

 (3) в функции foo() происходит обращение к локальной переменной $bar, значение которой не определено. Для обращения к глобальной переменной $bar, содержащей нужное значение, следует использовать ключевое слово global или массив $GLOBALS 

 (4) в функции foo() происходит обращение к локальной переменной $bar, значение которой не определено. Единственным возможным способом передачи значения глобальной переменной в функцию является использование параметров функций 


Упражнение 34:
Номер 1
PHP-сценарий содержит следующий код:

<?php
function foo()
{
	$n = func_num_args();$p = func_get_arg(0);
	$args = array_fill(0,$n,$p);
	foreach($args as $value) 
	{
		echo $value," ";
	}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 


Номер 2
PHP-сценарий содержит следующий код:

<?php
function foo()
{
	$n = func_num_args();$p = func_get_args();
	$args = array_fill(0,$n,$p);
	foreach($args as $value) 
	{
		echo $value," ";
	}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 

 (5) Array Array Array 


Номер 3
PHP-сценарий содержит следующий код:

<?php
function foo()
{
	$p = func_get_args();
	$args = array_fill(0,sizeof($p),$p);
	foreach($args as $value) 
	{
		echo $value," ";
	}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 

 (5) Array Array Array 


Номер 4
PHP-сценарий содержит следующий код:

<?php
function foo()
{
$args = function_arguments();
foreach($args as $value) 
{
echo $value," ";
}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 


Номер 5
PHP-сценарий содержит следующий код:

<?php
function foo()
{
	$args = func_get_args();
	foreach($args as $value) 
	{
		echo $value," ";
	}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 


Номер 6
PHP-сценарий содержит следующий код:

<?php
function foo()
{
$args = func_get_arg();
foreach($args as $value) 
{
echo $value," ";
}
}
foo("a", "b", "c");
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3) a a a 

 (4) a b c 


Упражнение 35:
Номер 1
PHP-сценарий содержит следующий код:

<?php
function foo($bar)
{
	$bar++;
}
$a = 1;
foo(&$a);
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) пустая строка 


Номер 2
PHP-сценарий содержит следующий код:

<?php
function foo($bar)
{
	$GLOBALS[$bar]++;
}
$a = 1;
foo(&$a);
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) во время выполнения сценария произойдет попытка обращения по недопустимому имени переменной 


Номер 3
PHP-сценарий содержит следующий код:

<?php
function foo()
{
	global $a++;
}
$a = 1;
foo();
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) во время выполнения сценария произойдет попытка обращения по недопустимому имени переменной 


Номер 4
PHP-сценарий содержит следующий код:

<?php
function foo(&$bar)
{
$bar++;
}
$a = 1;
call_user_func_array("foo", array(&$a));
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) пустая строка 


Номер 5
PHP-сценарий содержит следующий код:

<?php
function foo($bar)
{
	$bar++;
}
$a = 1;
foo(&$bar);
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) пустая строка 


Номер 6
PHP-сценарий содержит следующий код:

<?php
function foo(&$bar)
{
$bar++;
}
$a = 1;
call_user_func("foo", $a);
echo $a;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2)

 (3)

 (4) пустая строка 


Упражнение 36:
Номер 1
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции session_register() 

 (2) после занесения переменной в суперглобальный массив $_SESSION она автоматически регистрируется в сессии 

 (3) в PHP не существует суперглобального массива $_SESSION 

 (4) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable() 


Номер 2
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) после занесения переменной в суперглобальный массив $_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register() 

 (2) после занесения переменной в суперглобальный массив $_SESSION_VARS она автоматически регистрируется в сессии 

 (3) в PHP не существует суперглобального массива $_SESSION_VARS 

 (4) после занесения переменной в суперглобальный массив $_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable() 


Номер 3
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register() 

 (2) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS она автоматически регистрируется в сессии 

 (3) в PHP не существует суперглобального массива $_ HTTP_SESSION_VARS 

 (4) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable() 


Номер 4
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции session_register() 

 (2) после занесения переменной в суперглобальный массив $_SESSION она автоматически регистрируется в сессии 

 (3) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable() 

 (4) в PHP не существует суперглобального массива $_SESSION 


Номер 5
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register() 

 (2) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS она автоматически регистрируется в сессии 

 (3) в PHP не существует суперглобального массива $HTTP_SESSION_VARS 

 (4) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable() 


Номер 6
Из приведенных ниже высказываний укажите истинное:

Ответ:

 (1) по умолчанию все данные сессии постоянно хранятся в оперативной памяти 

 (2) по умолчанию информация обо всех данных сессии передается методом Cookie или добавляется в URL (поведение этого механизма зависит от настроек PHP) 

 (3) по умолчанию информация о данных сессии хранится в текстовом файле, а в оперативной памяти хранится идентификатор сессии 

 (4) по умолчанию информация о данных сессии хранится в текстовом файле, а идентификатор передается методом Cookie или добавляется в URL (поведение этого механизма зависит от настроек PHP) 


Упражнение 37:
Номер 1
Функция decode_session() используется для:

Ответ:

 (1) разархивирования данных о сессии, заархивированных ранее с использованием алгоритма сжатия 

 (2) преобразования данных о сессии из текстового вида в содержание  

 (3) декодирования ранее закодированных для обеспечения безопасности данных сессии 

 (4) такой функции в PHP не существует 


Номер 2
Функция session_is_registered() используется для:

Ответ:

 (1) определения, зарегистрирована ли переменная с указанным именем в текущей сессии 

 (2) определения, существует ли текущая сессия (определен ли идентификатор сессии) 

 (3) определения, зарегистрирована ли функция обработки данных сессии с указанным именем 

 (4) такой функции в PHP не существует 


Номер 3
Функция encode_session() используется для:

Ответ:

 (1) архивирования данных о сессии с использованием алгоритма сжатия 

 (2) преобразования данных о сессии в текстовый вид 

 (3) кодирования данных сессии для обеспечения безопасности 

 (4) такой функции в PHP не существует 


Номер 4
Передача идентификатора сессии может осуществляться с помощью:

Ответ:

 (1) установки настроек PHP таким образом, что относительные ссылки модифицируются с добавлением идентификатора сессии автоматически 

 (2) модификации ссылок с добавлением идентификатора сессии вручную 

 (3) вызова функции session_start(), которая автоматически связывает выполнение сценария PHP с сессией, идентификатор которой постоянно хранится в оперативной памяти сервера и определяется по ip клиента, пославшего запрос к сценарию 

 (4) механизма Cookie, который используется для передачи идентификатора при вызове session_start() 


Номер 5
Функция session_encode() используется для:

Ответ:

 (1) архивирования данных о сессии с использованием алгоритма сжатия 

 (2) преобразования данных о сессии в текстовый вид 

 (3) кодирования данных о сессии в целях обеспечения безопасности 

 (4) такой функции в PHP не существует 


Номер 6
При вызове функции session_register():

Ответ:

 (1) одна или более переменных с указанными именами регистрируются в массиве $_SESSION 

 (2) одна или более переменных с указанными именами регистрируются в массиве $HTTP_SESSION_VARS 

 (3) одна или более переменных с указанными именами регистрируются как глобальные 

 (4) если функция session_start() не была вызвана ранее - она вызывается автоматически 


Упражнение 38:
Номер 1
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["prev_page"] = "a.php";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
echo "Вы пришли с ".$_SESSION["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для сохранения данных сессии нужно всегда использовать функцию session_register() 

 (2) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (3) механизм передачи идентификатора сессии не был активирован в b.php 

 (4) в PHP нет суперглобального массива $_SESSION 


Номер 2
Файл a.php содержит следующий код:

<?php
session_start();
$SESSION["prev_page"] = "a.php";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo "Вы пришли с ".$SESSION["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для сохранения данных сессии нужно всегда использовать функцию session_register() 

 (2) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (3) массив $SESSION не является суперглобальным и не отвечает за работу с сессиями 

 (4) для сохранения данных сессии нужно всегда использовать функцию register_session_variable() 


Номер 3
Файл a.php содержит следующий код:

<?php
session_start();
$_ HTTP_SESSION_VARS["prev_page"] = "a.php";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo "Вы пришли с ".$_ HTTP_SESSION_VARS["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для сохранения данных сессии нужно всегда использовать функцию session_register() 

 (2) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (3) массив $_ HTTP_SESSION_VARS не является суперглобальным и не отвечает за работу с сессиями 

 (4) для сохранения данных сессии нужно всегда использовать функцию register_session_variable() 


Номер 4
Файл a.php содержит следующий код:

<?php
$_SESSION["prev_page"] = "a.php";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
echo "Вы пришли с ".$_SESSION["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для сохранения данных сессии нужно всегда использовать функцию session_register() 

 (2) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (3) механизм передачи идентификатора сессии не был активирован ни одним из возможных способов 

 (4) в PHP нет суперглобального массива $_SESSION 


Номер 5
Файл a.php содержит следующий код:

<?php
$_SESSION["prev_page"] = "a.php";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo "Вы пришли с ".$_SESSION["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) для сохранения данных сессии нужно всегда использовать функцию session_register() 

 (2) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (3) механизм передачи идентификатора сессии не был активирован в a.php 

 (4) для сохранения данных сессии нужно всегда использовать функцию register_session_variable() 


Номер 6
Файл a.php содержит следующий код:

<a href="b.php">Перейти на следующую страницу</a>
<?php
session_start();
$_SESSION["prev_page"] = "a.php";
?>

Файл b.php содержит следующий код:

<?php
session_start();
echo "Вы пришли с ".$_SESSION["prev_page"];
?>

Предполагалось, что при переходе на следующую страницу будет отображена строка "Вы пришли с a.php", однако результатом выполнения сценария является строка " Вы пришли с ". Все настройки работы с сессиями являются установленными по умолчанию. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:

Ответ:

 (1) в ссылке на b.php не был передан идентификатор сессии 

 (2) для сохранения данных сессии нужно использовать функцию session_register() 

 (3) после сохранения данных сессии к содержащим эти данные переменным нужно обращаться как к глобальным переменным с указанным при сохранении данных именем 

 (4) на момент вызова функции session_start() в a.php заголовок страницы уже был отправлен, поэтому передать идентификатор сессии методом Cookie не удалось 


Упражнение 39:
Номер 1
Файл a.php содержит следующий код:

<?php
$_SESSION["a1"] = 1;
$_SESSION["a2"] = "a";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) ["a1"]=> string (1) "1" ["a2"]=> string(1) "a" 

 (2) ["a1"]=> int(1) ["a2"]=> string(1) "a" 

 (3) a1|s:1:"1";a2|s:1:"a"; 

 (4) a1|i:1;a2|s:1:"a"; 

 (5) пустая строка 


Номер 2
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["a1"] = "a1";
$_SESSION["a2"] = "a2";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a1"]=> string (2) "a1" ["a2"]=> string(2) "a2" 

 (3) a1|s:2:"a1";a2|s:2:"a2"; 

 (4) пустая строка 


Номер 3
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["a1"] = "a";
$_SESSION["a2"] = "b";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a1"]=> string (1) "a" ["a2"]=> string(1) "b" 

 (3) a1|s:1:"a";a2|s:1:"b"; 

 (4) пустая строка 


Номер 4
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["a"] = 123;
$_SESSION["b12"] = "FOOBAR";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
$s = session_encode();
echo $s;
?>

Укажите результат выполнения сценария:

Ответ:

 (1) ["a"]=> string (3) "123" ["b12"]=> string(6) "FOOBAR" 

 (2) ["a"]=> int(123) ["b12"]=> string(6) "FOOBAR" 

 (3) a|s:3:"123";b12|s:6:"FOOBAR"; 

 (4) a|i:123;b12|s:6:"FOOBAR"; 

 (5) пустая строка 


Номер 5
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["a"] = 1;
$_SESSION["b"] = "b";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_decode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a"]=> int(1) ["b"]=> string(1) "b" 

 (3) a|s:1:"1";b|s:1:"b"; 

 (4) a|i:1;b|s:1:"b"; 

 (5) пустая строка 


Номер 6
Файл a.php содержит следующий код:

<?php
session_start();
$_SESSION["foo"] = 1;
$_SESSION["bar"] = "val";
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["foo"]=> string (1) "1" ["bar"]=> string(3) "val" 

 (3) ["foo"]=> int(1) ["bar"]=> string(3) "val" 

 (4) foo|s:1:"1";bar|s:3:"val"; 

 (5) foo|i:1;bar|s:3:"val"; 


Упражнение 40:
Номер 1
Файл a.php содержит следующий код:

<?php
session_start();
function foo()
{
	$SESSION["a"] = "123";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a"]=> string(3) "123" 

 (3) a|s:3:"123"; 

 (4) пустая строка 


Номер 2
Файл a.php содержит следующий код:

<?php
function foo()
{
	session_start();
	$SESSION["a"] = "a";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a"]=> string(1) "a" 

 (3) a|s:1:"a"; 

 (4) пустая строка 


Номер 3
Файл a.php содержит следующий код:

<?php
function foo()
{
	session_start();
	$_SESSION["var"] = "our_var";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["var"]=> string(1) "our_var" 

 (3) var|s:7:"our_var"; 

 (4) пустая строка 


Номер 4
Файл a.php содержит следующий код:

<?php
session_start();
function foo()
{
	$HTTP_SESSION_VARS["var"] = "foobar";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["var"]=> string(6) "foobar" 

 (3) var|s:6:"foobar"; 

 (4) пустая строка 


Номер 5
Файл a.php содержит следующий код:

<?php
session_start();
function foo()
{
	$_SESSION_VARS["a"] = "a";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["a"]=> string(1) "a" 

 (3) a|s:1:"a"; 

 (4) пустая строка 


Номер 6
Файл a.php содержит следующий код:

<?php
function foo()
{
	session_start();
	$HTTP_SESSION_VARS["bar"] = "bar";
}
foo();
?>
<a href="b.php">Перейти на следующую страницу</a>

Файл b.php содержит следующий код:

<?php
session_start();
echo session_encode();
?>

Укажите результат выполнения сценария:

Ответ:

 (1) cценарий не будет выполнен, т.к. код содержит ошибки 

 (2) ["bar"]=> string(3) "bar" 

 (3) bar|s:3:"bar"; 

 (4) пустая строка 




Главная / Программирование / PHP: основы / Тест 1