PHP: основы - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Проверка знаний синтаксиса и семантики конструкций языка php 5.
Для приведения переменной к типу чисел с плавающей точкой следует перед именем переменной указать
(1) (float)
(2) (double)
(3) (real)
(4) численные значения в PHP всегда имеют тип чисел с плавающей точкой
Обращение к переменной ($var1) по ее имени, являющемуся строковым значением другой переменной ($var2), производится следующим образом:
(1) $var2
(2) $$var2
(3) ${var2}
(4) ${$var2}
PHP-сценарий содержит следующий код: <?php define("foo","bar"); $bar = defined("foo"); echo $bar; ?> Укажите результат выполнения сценария:
(1) TRUE
(2) FALSE
(3) 1
(4) 0
(5) пустая строка
PHP-сценарий содержит следующий код: <?php define("FOO","значение константы"); unset("FOO"); echo FOO; ?> Укажите результат выполнения сценария:
(1) сценарий не будет выполнен, т.к. код содержит ошибки
(2) NULL
(3) пустая строка
(4) 0
(5) значение константы
В языке PHP существуют следующие операции для работы с массивами:
(1) объединение ( * )
(2) объединение ( + )
(3) поиск различий ( - )
(4) тождественно равно ( == )
Гибкое (==) сравнение переменной со значением "1" даст результат TRUE, если переменная содержит:
(1) TRUE
(2) FALSE
(3) "1"
(4) array(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) 1
(5) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = 14.3; echo $a-- - ++$a + $a++; ?> Укажите результат выполнения сценария:
(1) 14
(2) 14.3
(3) 23
(4) 23.6
(5) pезультат выполнения сценария не определен
PHP-сценарий содержит следующий код: <?php $a = false; $b = true; echo ($a or $b + $b - $a || $a and $b && $a ); ?> Укажите результат выполнения сценария:
(1) FALSE
(2) TRUE
(3) 0
(4) 1
(5) пустая строка
Методами GET и Cookie в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом Cookie, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_COOKIE["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
Чтобы при отправке данных формы была возможность отправить данные, не связанные ни с одним отображаемым на форме элементом:
(1) следует в атрибуте action сформировать GET-запрос (например, action = "php_script.php?foo1=bar1&foo2=bar2")
(2) следует использовать тег input с атрибутом type, равным hidden
(3) следует использовать тег input с атрибутом type, равным variable
(4) содержимое строки 12 следует включить в предыдущий блок
(5) сделать ничего нельзя - такая возможность не предусмотрена; в случае подобной необходимости следует использовать один из элементов формы, занеся в атрибут value нужное значение и сделав его доступным только для чтения
Для предоставления информации о выбранных пользователем элементах списка был разработан следующий код: // Файл 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 | |
Следующий код после отправки данных оповещает пользователя о состоянии чекбокса на форме: <?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 и форма с чекбоксом
Циклом с постусловием является:
(1) do-while()
(2) while()
(3) for()
(4) цикла с постусловием в PHP не существует
Разница между require() и require_once() состоит в том, что:
(1) при использовании require() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании require_once() парсинг подключаемого файла ведется в режиме PHP-кода
(2) при использовании require_once() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании require() парсинг подключаемого файла ведется в режиме PHP-кода
(3) require_once() не подключает указанный файл, если он уже был подключен
(4) в PHP не существует директивы require_once()
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) 1
(2) 2
(3) 3
(4) 11
(5) 111
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ценарий в любом случае не выполняется, так как в коде есть ошибки
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
(3) 11
(4) 2
(5) 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

Оператор "не равно", работающий с массивами, выглядит как
(1) <>
(2) !=
(3) ><
(4) понятие "не равно" для массивов не определено, т.к. составные (compound) объекты сравнивать нельзя
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]
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
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
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 | | | |
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
Оператор поиска количества вхождений подстроки ( / ) работает следующим образом:
(1) для строкового типа этот оператор не определен
(2) возвращает количество вхождений строки справа от оператора в строку слева от оператора; если подстрока не найдена - возвращает 0
(3) возвращает массив строк, полученный из строки слева от оператора путем разбиения подстрокой справа от оператора; если подстрока не найдена - возвращает пустой массив
(4) возвращает массив строк, полученный из строки слева от оператора путем разбиения подстрокой справа от оператора; если подстрока не найдена - возвращает массив с единственным элементом, равным исходной строке
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ценарий не будет выполнен, т.к. код содержит ошибки
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
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
Для нахождения первого вхождения непустой подстроки (передающейся в сценарий методом 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)
По умолчанию передача параметров в функции осуществляется:
(1) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции уничтожается
(2) по ссылке; параметры функций - это переменные, ссылающиеся на переменные, указанные как аргументы функции
(3) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции сохраняется как статическая переменная
(4) по значению; переданная в функцию переменная копируется, в функцию передается эта копия, которая после выхода из функции сохраняется как глобальная переменная
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) в процессе выполнения сценария будет произведена попытка вызова функции с недопустимым именем
PHP-сценарий содержит следующий код: <?php function foo($bar) { echo ($bar)?$GLOBALS[foo]:$bar; } $foo = "bar"; foo($foo); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) bar
(3) foobar
(4) barbar
(5) пустая строка
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) a
(3) a a a
(4) a b c
PHP-сценарий содержит следующий код: <?php function foo($bar) { $bar++; } $a = 1; foo(&$a); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции session_register()
(2) после занесения переменной в суперглобальный массив $_SESSION она автоматически регистрируется в сессии
(3) в PHP не существует суперглобального массива $_SESSION
(4) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable()
Функция decode_session() используется для:
(1) разархивирования данных о сессии, заархивированных ранее с использованием алгоритма сжатия
(2) преобразования данных о сессии из текстового вида в содержание
(3) декодирования ранее закодированных для обеспечения безопасности данных сессии
(4) такой функции в PHP не существует
Файл 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
Файл 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) пустая строка
Файл 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) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) перед использованием переменной она должна быть определена с указанием типа и инициализирована каким-либо значением
(2) перед использованием переменной она должна быть определена с указанием типа
(3) перед использованием переменной она должна быть инициализирована каким-либо значением
(4) переменные не обязаны быть инициализированы каким-либо значением перед использованием, а тип переменной определяется в зависимости от контекста
PHP поддерживает следующие простые специальные (special) типы:
(1) NULL
(2) array
(3) resource
(4) object
PHP-сценарий содержит следующий код: <?php $bar2 = "значение1"; $bar1 = &$bar2; $bar3 = "значение2"; $bar1 = &$bar3; echo $bar2; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) значение1
(3) значение2
(4) пустая строка
PHP-сценарий содержит следующий код: <?php define("FOO","значение константы"); unset(FOO); echo FOO; ?>
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) NULL
(3) пустая строка
(4) 0
(5) значение константы
В языке PHP существуют следующие побитовые операции:
(1) побитовое или ( | )
(2) побитовое или ( || )
(3) отрицание ( ! )
(4) исключающее или ( ^ )
Гибкое (==) сравнение переменной со значением array() (пустой массив) даст результат TRUE, если переменная содержит:
(1) TRUE
(2) FALSE
(3) 1
(4) 0
(5) NULL
PHP-сценарий содержит следующий код: <?php $a = 1; $b = 3; echo $c -= $a = (int) - 0.5 - 1.5 || 1 - $b + ! $b; ?> Укажите результат выполнения сценария:
(1) -2
(2) -1
(3) 3
(4) пустая строка
(5) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = true; echo ++$a + $a++; ?> Укажите результат выполнения сценария:
(1) 2
(2) 4
(3) 5
(4) пустая строка
(5) pезультат выполнения сценария не определен
PHP-сценарий содержит следующий код: <?php $a = $b = true; echo ($a + $b + $b++ and -$a && $a || $b or $a ); ?> Укажите результат выполнения сценария:
(1) FALSE
(2) TRUE
(3) 0
(4) 1
(5) пустая строка
Методами POST и Cookie в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом POST, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_POST["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
Чтобы установить cookie, следует использовать:
(1) функцию set_cookie()
(2) функцию setcookie()
(3) функцию cookie()
(4) функцию _cookie()
Файл 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 происходит иным образом
Файл 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ценарий не будет выполнен, т.к. код содержит ошибки
PHP поддерживает следующие циклы:
(1) do-while()
(2) iterate()
(3) foreach()
(4) list-each()
Для контроля над выполнением условного ветвления (if) следует использовать:
(1) elseif
(2) endif
(3) break
(4) continue
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) 6
(2) bar123
(3) 6
(4) bar
(5) cценарий не будет выполнен, т.к. код содержит ошибки
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ценарий в любом случае не выполняется, так как в коде есть ошибки
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) 0
(2) -2
(3) -1
(4) пустая строка
(5) сценарий не будет выполнен, т.к. код содержит ошибки
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

При вычислении разности двух массивов:
(1) ключи массива слева от '-' удаляются вместе со значениями, если такие ключи существуют в массиве справа от '-'
(2) ключи массива слева от '-' удаляются вместе со значениями, если такие ключи существуют в массиве справа от '-'
(3) элементы с одинаковыми значениями не попадают в массив, являющийся результатом операции, а ключи генерируются заново
(4) понятие разности для массивов не определено
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]
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
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
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) | | | |
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
Оператор объединения строк ( * ) работает следующим образом:
(1) для строкового типа этот оператор не определен
(2) ищет в строке справа от оператора подстроку максимальной длины, входящую в строку слева от оператора, затем удаляет первую найденную подстроку из исходной и вставляет строку справа от оператора в позицию первого вхождения найденной и удаленной подстроки
(3) ищет в строке справа от оператора подстроку максимальной длины, входящую хотя бы один раз в строку слева от оператора, затем удаляет каждую найденную подстроку из исходной и вставляет строку справа от оператора в позицию каждого вхождения найденной и удаленной подстроки
(4) воспринимает строки как массивы символов и объединяет их соответствующим образом
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ценарий не будет выполнен, т.к. код содержит ошибки
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
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
Для замены вхождений непустой подстроки (передающейся в сценарий методом 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}")
В функции определена переменная $var с ключевым словом global (в глобальной области видимости эта переменная существует); что произойдет после unset($var)?
(1) глобальная переменная будет сброшена, а ее значение - потеряно
(2) к переменной, содержащей ссылку, нельзя применить unset()
(3) переменная $var в локальной области видимости функции будет сброшена и перестанет указывать на глобальную переменную $var; с глобальной переменной $var ничего не произойдет
(4) будет сгенерирована ошибка
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() будет вызывать саму себя
PHP-сценарий содержит следующий код: <?php function foo($bar) { echo ($GLOBALS[$bar])?$GLOBALS[$bar]:$bar; } $foo = "bar"; foo($foo); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) bar
(3) foobar
(4) barbar
(5) пустая строка
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) a
(3) a a a
(4) a b c
(5) Array Array Array
PHP-сценарий содержит следующий код: <?php function foo($bar) { $GLOBALS[$bar]++; } $a = 1; foo(&$a); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) во время выполнения сценария произойдет попытка обращения по недопустимому имени переменной
Из приведенных ниже высказываний укажите истинное:
(1) после занесения переменной в суперглобальный массив $_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register()
(2) после занесения переменной в суперглобальный массив $_SESSION_VARS она автоматически регистрируется в сессии
(3) в PHP не существует суперглобального массива $_SESSION_VARS
(4) после занесения переменной в суперглобальный массив $_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable()
Функция session_is_registered() используется для:
(1) определения, зарегистрирована ли переменная с указанным именем в текущей сессии
(2) определения, существует ли текущая сессия (определен ли идентификатор сессии)
(3) определения, зарегистрирована ли функция обработки данных сессии с указанным именем
(4) такой функции в PHP не существует
Файл 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()
Файл 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) пустая строка
Файл 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) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) значение константы может быть переопределено с помощью повторного использования define(), но не могут быть аннулированы
(2) значение константы может быть аннулировано с помощью использования unset(), но не может быть переопределено
(3) значение константы может быть переопределено с помощью повторного использования define() и аннулировано с помощью использования unset()
(4) значение константы не может быть ни переопределено, ни аннулировано
Из приведенного перечня укажите все верные имена суперглобальных массивов:
(1) $_POST
(2) $_ENVIRONMENT
(3) $ENVIRONMENT
(4) $_REQUEST
(5) $SESSION
PHP-сценарий содержит следующий код: <?php define("FOO","значение константы"); $bar = is_defined("FOO"); echo $bar; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) TRUE
(3) FALSE
(4) 1
(5) 0
Файл 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" }
В языке PHP существуют следующие арифметические операции:
(1) деление с остатком ( ^ )
(2) целочисленное деление ( % )
(3) нахождение целочисленного остатка от деления ( % )
(4) нахождение модуля целочисленного остатка от деления ( % )
Гибкое (==) сравнение переменной со значением TRUE даст результат TRUE, если переменная содержит:
(1) 1
(2) -1
(3) "1"
(4) "0"
(5) "-1"
PHP-сценарий содержит следующий код: <?php $a = false; $b = 1; echo $c *= - $a = (string) 1.5 * $a || $a + ! $b; ?> Укажите результат выполнения сценария:
(1) -1
(2) 0
(3) 1
(4) пустая строка
(5) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = "значение12"; echo ++$a + $a++; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 0
(3) 25
(4) 26
(5) 28
PHP-сценарий содержит следующий код: <?php $a = $b = true + 1; echo ($b - $a or $b-- || -2 * $a + ! $a and $a ); ?> Укажите результат выполнения сценария:
(1) FALSE
(2) TRUE
(3) 0
(4) 1
(5) пустая строка
Методами POST и Cookie в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом Cookie, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_COOKIE["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
Чтобы при использовании тега 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) такая возможность не предусмотрена
Для отображения ответа на заданный пользователю вопрос был разработан следующий код: // Файл 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 происходит иным образом
Файл 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ценарий не будет выполнен, т.к. код содержит ошибки
PHP поддерживает следующие циклы:
(1) iterate()
(2) for_each()
(3) while()-do
(4) list-each()
Для контроля над выполнением условного множественного ветвления (switch) следует использовать:
(1) endswitch
(2) defauilt
(3) break
(4) continue
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ценарий не будет выполнен, т.к. код содержит ошибки
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"
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) 1
(2) 0
(3) NULL
(4) пустая строка
(5) сценарий не будет выполнен, т.к. код содержит ошибки
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) ни один из вариантов не решает поставленную задачу
При умножении двух массивов:
(1) значения массива слева от '*' становятся ключами, которым соответствуют значения, каждое из которых равно массиву справа от '*'
(2) значения массива справа от '*' становятся ключами, которым соответствуют значения, каждое из которых равно массиву слева от '*'
(3) значения элементов с одинаковыми ключами становятся значениями массива, являющегося результатом операции (их ключи сохраняются), а остальные значения опускаются
(4) понятие умножения для массивов не определено
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]
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
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
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| | |
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
Работа с одиночными символами происходит следующим образом:
(1) никак не происходит, такая функциональность отсутствует
(2) с помощью угловых ( < > ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым)
(3) с помощью квадратных ( [] ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым); такой синтаксис не рекомендуется, т.к. может возникнуть смысловой конфликт: воспринимать конструкцию типа $stroka[$index] как обращение к символу в строке или как обращение к элементу массива
(4) с помощью круглых ( () ) скобок, внутри которых указывается номер символа (первый символ в строке считается нулевым)
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ценарий не будет выполнен, т.к. код содержит ошибки
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
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
Для поиска количества вхождений непустой подстроки (передающейся в сценарий методом 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)
В функции func1() определена функция func2(); что произойдет после вызова func2(), если на момент этого вызова func1() еще не была выполнена?
(1) ничего не произойдет, все соответствует правилам языка PHP
(2) будет сгенерирована ошибка
(3) будет вызвана функция с пустым телом и отсутствием возвращаемого значения
(4) будет автоматически вызвана функция func1(), затем будет вызвана func2()
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) пустая строка
PHP-сценарий содержит следующий код: <?php function foo($bar) { echo ($bar)?$bar:$GLOBALS[$bar]; } $bar = $foo = "bar"; foo($$foo); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) bar
(3) foobar
(4) barbar
(5) пустая строка
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) a
(3) a a a
(4) a b c
(5) Array Array Array
PHP-сценарий содержит следующий код: <?php function foo() { global $a++; } $a = 1; foo(); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) во время выполнения сценария произойдет попытка обращения по недопустимому имени переменной
Из приведенных ниже высказываний укажите истинное:
(1) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register()
(2) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS она автоматически регистрируется в сессии
(3) в PHP не существует суперглобального массива $_ HTTP_SESSION_VARS
(4) после занесения переменной в суперглобальный массив $_ HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable()
Функция encode_session() используется для:
(1) архивирования данных о сессии с использованием алгоритма сжатия
(2) преобразования данных о сессии в текстовый вид
(3) кодирования данных сессии для обеспечения безопасности
(4) такой функции в PHP не существует
Файл 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()
Файл 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) пустая строка
Файл 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) пустая строка
PHP поддерживает следующие простые скалярные типы:
(1) целое
(2) беззнаковое целое
(3) булево (логическое)
(4) число с плавающей точкой
(5) строка
Тип переменной можно узнать с помощью:
(1) функции get_type()
(2) функции gettype()
(3) функции is_<название_типа>()
(4) функции is<название_типа>
PHP-сценарий содержит следующий код: <?php $foo = define("BAR","значение константы"); echo $foo; ?> Укажите результат выполнения сценария:
(1) TRUE
(2) FALSE
(3) 1
(4) 0
(5) пустая строка
PHP-сценарий содержит следующий код: <?php define("FOO","значение константы"); $bar = &FOO; echo $bar; ?> Укажите результат выполнения сценария:
(1) сценарий не будет выполнен, т.к. код содержит ошибки
(2) 0
(3) пустая строка
(4) значение константы
(5) NULL
В языке PHP существуют следующие операции сравнения:
(1) равно ( = )
(2) не равно ( <> )
(3) много больше ( >> )
(4) меньше или равно ( <= )
Гибкое (==) сравнение переменной со значением "-1" даст результат TRUE, если переменная содержит:
(1) FALSE
(2) TRUE
(3) 0
(4) -1
PHP-сценарий содержит следующий код: <?php $a = 3; $b = 4; echo $c -= $a += (string) 7.5/5 << 2 + $b %= - 3; ?> Укажите результат выполнения сценария:
(1) -11
(2) -8
(3) 0
(4) 8
(5) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = 1; echo $a++ % ++$a + $a++; ?> Укажите результат выполнения сценария:
(1) 2
(2) 4
(3) 5
(4) 6
(5) pезультат выполнения сценария не определен
PHP-сценарий содержит следующий код: <?php $a = $b = true; echo ($a && $b and $b || ! $b <> ! $a && $b or $a ); ?> Укажите результат выполнения сценария:
(1) FALSE
(2) TRUE
(3) 0
(4) 1
(5) пустая строка
Методами GET и POST в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом POST, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_POST["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
Чтобы при отправке данных формы они были представлены массивом, следует:
(1) сгруппировать требуемые поля по имени (назвав их одинаковыми именами в виде name = "data_array"); ключи задать невозможно, они будут сгенерированы автоматически (0,1,2 и так далее)
(2) сгруппировать требуемые поля по имени (назвав их одинаковыми именами, завершающимися обязательными кавычками в виде name = "data_array[]"); ключи задать невозможно, они будут сгенерированы автоматически (0,1,2 и так далее)
(3) сгруппировать требуемые поля по имени (назвав их одинаковыми именами, завершающимися обязательными кавычками в виде name = "data_array[]"); в кавычках можно задать ключи - в обратном случае они будут сгенерированы автоматически (0,1,2 и так далее)
(4) содержимое строки 12 следует включить в предыдущий блок
Для отображения выбранного из списка вариантов значения был разработан следующий код:

Файл 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]"]
Для вывода значений координат точки на изображении, по которой щелкнул пользователь, был разработан следующий код: // Файл html_form.htm: <html><head><title>Избражение</title></head><body> <form method="GET" action="show_point_coords.php"> <input type="image" data-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ешение поставленной задачи невозможно, так как такой возможности не предусмотрено
Оператор break используется для выхода из:
(1) for()
(2) foreach()
(3) if()
(4) while()
Разница между 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)
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
(2) 6
(3) 10
(4) cценарий не будет выполнен, т.к. код содержит ошибки
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
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ценарий не будет выполнен, т.к. код содержит ошибки
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

Два массива тождественно равны, если:
(1) они содержат одинаковые значения
(2) они содержат одинаковые пары ключ => значение
(3) они содержат одинаковые пары ключ => значение в одинаковом порядке
(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]
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
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
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) | | | |
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
При использовании двойных ("") кавычек имена переменных обрабатываются следующим образом:
(1) никак не обрабатываются
(2) знак $ захватывает максимум символов для формирования имени, соответствующего правилам наименования переменных
(3) знак $ захватывает максимум символов для формирования имени переменной, хотя бы один раз использовавшейся ранее
(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ценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = array( "КОШКА", "СОБАКА" ); echo "Р".$a[1]{3}.$a[0][3]; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) РАК
(3) РА
(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 и
Для нахождения первого вхождения непустой подстроки (передающейся в сценарий методом 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)
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() будет вызывать саму себя
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() будет вызывать саму себя
PHP-сценарий содержит следующий код: <?php function foo($bar) { echo $$bar; } $bar = "bar"; foo($bar); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) bar
(3) пустая строка
(4) $bar
PHP-сценарий содержит следующий код: <?php function foo() { $args = function_arguments(); foreach($args as $value) { echo $value," "; } } foo("a", "b", "c"); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) a
(3) a a a
(4) a b c
PHP-сценарий содержит следующий код: <?php function foo(&$bar) { $bar++; } $a = 1; call_user_func_array("foo", array(&$a)); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции session_register()
(2) после занесения переменной в суперглобальный массив $_SESSION она автоматически регистрируется в сессии
(3) после занесения переменной в суперглобальный массив $_SESSION ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable()
(4) в PHP не существует суперглобального массива $_SESSION
Передача идентификатора сессии может осуществляться с помощью:
(1) установки настроек PHP таким образом, что относительные ссылки модифицируются с добавлением идентификатора сессии автоматически
(2) модификации ссылок с добавлением идентификатора сессии вручную
(3) вызова функции session_start(), которая автоматически связывает выполнение сценария PHP с сессией, идентификатор которой постоянно хранится в оперативной памяти сервера и определяется по ip клиента, пославшего запрос к сценарию
(4) механизма Cookie, который используется для передачи идентификатора при вызове session_start()
Файл 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
Файл 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) пустая строка
Файл 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) пустая строка
Для получения константы по динамически формируемому имени следует использовать:
(1) функцию get_defined_constant()
(2) функцию get_constant()
(3) функцию constant()
(4) функцию defined()
PHP поддерживает следующие простые смешанные (compound) типы:
(1) dataset
(2) object
(3) resource
(4) array
(5) enum
В целях отладки был разработан код функции, выводящий строку с заключением о принадлежности аргумента функции к строковому типу. Код функции следующий: 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
PHP-сценарий содержит следующий код: <?php $bar = define("FOO","значение константы"); unset($bar); echo FOO; ?>
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) NULL
(3) пустая строка
(4) 0
(5) значение константы
В языке PHP существуют следующие операции для работы со строками:
(1) конкатенация ( + )
(2) конкатенация ( . )
(3) поиск количества вхождений подстроки ( / )
(4) объединение ( * )
Гибкое (==) сравнение переменной со значением "()" даст результат TRUE, если переменная содержит:
(1) TRUE
(2) FALSE
(3) 0
(4) NULL
PHP-сценарий содержит следующий код: <?php $a = 2; $b = 3; echo $c += $a %= (int) 10.5/1.5 ^ 1 - $b++; ?> Укажите результат выполнения сценария:
(1) -2
(2) -1
(3) 2
(4) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = 0; echo $a++ * ++$a + $a--; ?> Укажите результат выполнения сценария:
(1) 0
(2) 1
(3) 2
(4) 3
(5) pезультат выполнения сценария не определен
PHP-сценарий содержит следующий код: <?php $a = $b = false; echo ($a != $b || $b or ! $a === $a and $b && $a ); ?> Укажите результат выполнения сценария:
(1) FALSE
(2) TRUE
(3) 0
(4) 1
(5) пустая строка
Методами GET и Cookie в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом GET, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_GET["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
Чтобы при отправке данных формы была возможность корректно обработать множественный выбор элементов в тэге select с опцией multiple:
(1) ничего специально делать не требуется, массив выбранных элементов будет создан в любом случае
(2) следует с помощью квадратных скобок ( [] ) в атрибуте name тега select указать, что передаваемые данные являются массивом выбранных значений
(3) сделать ничего нельзя - тег select с опцией multiple не предназначен для корректной передачи данных в PHP-сценарий; в этом случае следует вручную средствами JavaScript формировать строку запроса к сценарию, не пользуясь механизмом отправки данных из формы
(4) следует с помощью добавления строки "as Array" к имени элемента в атрибуте name тега select указать, что передаваемые данные являются массивом выбранных значений
Для предоставления информации о введенном пользователем пароле (скрытом символами-заменителями при вводе в соображениях безопасности) был разработан следующий код: // Файл 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">
Для предоставления пользователю возможности запретить отображение содержимого страницы был разработан следующий код: <?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"
Циклом с предусловием является:
(1) do-while()
(2) while()
(3) for()
(4) цикла с предусловием в PHP не существует
Разница между include() и include_once() состоит в том, что:
(1) при использовании include() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании include_once() парсинг подключаемого файла ведется в режиме PHP-кода
(2) при использовании include_once() интерпретатор меняет метод парсинга с PHP на HTML, а при использовании include() парсинг подключаемого файла ведется в режиме PHP-кода
(3) include_once() не подключает указанный файл, если он уже был подключен
(4) в PHP не существует директивы include_once()
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) 1
(2) 4
(3) 5
(4) 1111
(5) 11111
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"
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
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

При объединении двух массивов операцией '+':
(1) ключи массива слева от '+' перезаписываются, если такие ключи существуют в массиве справа от '+'
(2) ключи массива слева от '+' не перезаписываются, если такие ключи существуют в массиве справа от '+'
(3) элементы с одинаковыми ключами не попадают в массив, являющийся результатом операции
(4) понятие объединения для массивов не определено
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]
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
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
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) | | | |
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
Оператор арифметического сложения (+) работает со строками следующим образом:
(1) никак не работает
(2) так же как и оператор конкатенации
(3) происходит приведение строки к целочисленному типу или типу чисел с плавающей точкой, затем происходит сложение
(4) результатом работы этого оператора со строковыми выражениями всегда является пустая строка
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ценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = array( "PROGRAMMING", "HYPERTEXT" ); echo "P".$a[1]{0}.$a[0][0]; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) PHP
(3) РP
(4) РH
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 и
Для нахождения последнего вхождения непустой подстроки (передающейся в сценарий методом 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)
Механизм передачи переменного количества параметров реализуется с помощью следующих функций:
(1) func_num_args()
(2) func_get_arg()
(3) func_get_args_num()
(4) function_argument()
(5) func_get_args()
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) в процессе выполнения сценария будет произведена попытка вызова функции с недопустимым именем
PHP-сценарий содержит следующий код: <?php function foo($bar) { echo $foo; } $foo = "bar"; foo($foo); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) bar
(3) пустая строка
(4) функция foo() будет вызывать саму себя
PHP-сценарий содержит следующий код: <?php function foo() { $args = func_get_args(); foreach($args as $value) { echo $value," "; } } foo("a", "b", "c"); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) a
(3) a a a
(4) a b c
PHP-сценарий содержит следующий код: <?php function foo($bar) { $bar++; } $a = 1; foo(&$bar); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции session_register()
(2) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS она автоматически регистрируется в сессии
(3) в PHP не существует суперглобального массива $HTTP_SESSION_VARS
(4) после занесения переменной в суперглобальный массив $HTTP_SESSION_VARS ее следует зарегистрировать в сессии с помощью вызова функции register_session_variable()
Функция session_encode() используется для:
(1) архивирования данных о сессии с использованием алгоритма сжатия
(2) преобразования данных о сессии в текстовый вид
(3) кодирования данных о сессии в целях обеспечения безопасности
(4) такой функции в PHP не существует
Файл 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()
Файл 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) пустая строка
Файл 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) пустая строка
Тип переменной во время выполнения PHP-сценария определяется по следующим правилам:
(1) тип переменной явно указывается при определении переменной и не изменяется в процессе выполнения сценария
(2) тип переменной явно указывается при определении переменной и изменяется только при приведении этой переменной к другому типу или использовании функции settype()
(3) тип переменной определяется типом первого значения, которое было ей присвоено, и далее не изменяется
(4) тип переменной изменяется при приведении этой переменной к другому типу или использовании функции settype(), а также может изменяться в зависимости от контекста использования этой переменной
(5) тип переменной изменяется при приведении этой переменной к другому типу или использовании функции set_type(), а также может изменяться в зависимости от контекста использования этой переменной
Из приведенного перечня укажите все верные имена суперглобальных массивов:
(1) $_FILES
(2) $_GLOBALS
(3) $SERVER
(4) $GLOBALS
(5) $_SERVER
PHP-сценарий содержит следующий код: <?php $bar1 = "Старое значение"; $bar2 = "Новое значение"; function foo() { global $bar1,$bar2; $bar1 =& $bar2; } foo(); echo $bar1; ?> Укажите результат выполнения сценария:
(1) старое значение
(2) новое значение
(3) пустая строка
(4) сценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий предназначен для вывода значения константы BAR: <?php define("BAR", "Значение константы"); function foo() { echo ___; } foo(); ?> Среди приведенных ниже фрагментов укажите вариант кода, подстановка которого вместо знаков подчеркивания решит поставленную задачу:
(1) "BAR"
(2) BAR
(3) $BAR
(4) ${BAR}
(5) pешение поставленной задачи невозможно, так как в области видимости функции foo() константа BAR недоступна
В языке PHP существуют комбинированные операторы присваивания для:
(1) всех бинарных арифметических операций
(2) всех бинарных и унарных арифметических операций
(3) всех строковых операций
(4) всех бинарных побитовых операций
(5) всех бинарных и унарных побитовых операций
Гибкое (==) сравнение переменной со значением NULL даст результат TRUE, если переменная содержит:
(1) FALSE
(2) 0
(3) -1
(4) "" (пустая строка)
(5) array() (пустой массив)
PHP-сценарий содержит следующий код: <?php $a = 1; $b = 2; echo $c += ($a += (int) 14.5/5) + ($b -= (2 + 1) % - 3); ?> Укажите результат выполнения сценария:
(1) 5
(2) 8.8
(3) 5.8
(4) 2.8
(5) cценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = 1; echo $a++ + ++$a; ?> Укажите результат выполнения сценария:
(1) 2
(2) 4
(3) 5
(4) 6
(5) pезультат выполнения сценария не определен
PHP-сценарий содержит следующий код: <?php $a = true; $b = false; echo ($a or $b || ! $b == $b and ! $a && $b ); ?> Укажите результат выполнения сценария:
(1) false
(2) true
(3) 0
(4) 1
(5) пустая строка
Методами GET и POST в PHP-сценарий были переданы переменные с одинаковыми именами "foo". Директивы variables_order и register_globals имеют значения по умолчанию. Чтобы во время выполнения сценария получить значение переменной, переданной методом GET, следует
(1) обратиться к ней как к $foo
(2) обратиться к ней как к $_GET["foo"]
(3) обратиться к ней как к $_REQUEST["foo"]
(4) обратиться к ней как к $_SERVER["foo"]
(5) обратиться к ней как к $_SESSION["foo"]
При отправке данных формы имена переменных (или массивов) и их значения формируются следующим образом:
(1) имя берется из атрибута type элемента, a значение - из атрибута value
(2) имя берется из атрибута name элемента, а значение - из атрибута value
(3) имя берется из атрибута value элемента, а значение - из атрибута name
(4) имя берется из атрибута name элемента с типом "submit", а значения - из атрибута value элемента input с любым другим типом
(5) имя берется из атрибута value элемента с типом "submit", а значения - из атрибута value элемента input с любым другим типом
Для запроса имени учетной записи пользователя (логина) и отображения приветствия после нажатия на кнопку "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"]
Для отображения введенного пользователем текста с сохранением разбиения на абзацы (осуществляемого переводами строк) был разработан следующий код: // Файл 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 не будет содержаться требуемых данных
Оператор continue (без указания значения параметра) используется:
(1) в качестве пустого оператора
(2) для перехода к следующей итерации цикла
(3) для выхода из цикла
(4) аналогично break в операторе switch
(5) для возврата из функции и продолжения программы с точки ее вызова
В конструкции for(выражение1; выражение2; выражение3) {тело цикла} элементы "выражение1", "выражение2", "выражение3"ведут себя следующим образом:
(1) каждое из выражений вычисляется в начале каждой итерации
(2) выражение1 вычисляется один раз в начале цикла, остальные - вычисляются в начале каждой итерации
(3) выражение1 вычисляется один раз в начале цикла, остальные - вычисляются в конце каждой итерации
(4) выражение1 вычисляется один раз в начале цикла, выражение2 - в начале каждой итерации, выражение3 - в конце каждой итерации
(5) выражение1 вычисляется один раз в начале цикла, выражение2 - в конце каждой итерации, выражение3 - в начале каждой итерации
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) 0
(2) 3
(3) 11
(4) cценарий не будет выполнен, т.к. код содержит ошибки
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
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ценарий не будет выполнен, т.к. код содержит ошибки
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

При использовании в массивах в качестве ключей:
(1) пустое строковое значение будет использоваться как ключ, значение которого равно пустой строке
(2) значение булева типа будет использоваться как целочисленный ключ: 1 (в случае TRUE) или 0 (в случае FALSE)
(3) значение булева типа будет использоваться как строковый ключ: "true" (в случае TRUE) или "false" (в случае FALSE)
(4) значение NULL будет использоваться как целочисленный ключ (0)
(5) значение NULL будет использоваться как строковый ключ, значение которого равно пустой строке
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]
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
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
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 | | |
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
При выводе строки, в случае если ее содержимое заключается в одинарные ( ' ) кавычки, следует использовать обратную косую черту ( \ ) при:
(1) экранировании одинарных кавычек ( ' ) - иначе строка будет разорвана
(2) экранировании двойных кавычек ( " ) - иначе строка будет разорвана
(3) использовании управляющих последовательностей
(4) экранировании символа обратной косой черты ( \ ) с целью его отображения - иначе он не будет выведен при отображении строки
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ценарий не будет выполнен, т.к. код содержит ошибки
PHP-сценарий содержит следующий код: <?php $a = array( "ПЕРВЫЙ", "ВТОРОЙ" ); echo "Р".$a[1][2].$a[0]{5}; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) РОЙ
(3) РO
(4) РЙ
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 и
Для нахождения непустой подстроки (передающейся в сценарий методом 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
Возможность вызова пользовательских функций зависит от порядка их определения следующим образом:
(1) любая пользовательская функция должна быть определена перед тем, как она будет использована
(2) любая пользовательская функция может быть сначала вызвана, а затем определена
(3) определены перед использованием должны быть только пользовательские функции, определенные в блоке, выполнение которого зависит от какого-либо условия (например, в блоке if или в теле другой функции)
(4) пользовательские функции обязаны быть определены в том же файле, в котором используются, и определение функции должно предшествовать ее использованию
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) пустая строка
PHP-сценарий содержит следующий код: <?php function foo() { echo $bar; } $bar = "значение переменной"; foo(); ?> Предполагалось, что при вызове функции foo() будет отображено значение переменной $bar, однако результатом выполнения сценария является пустая строка. Из приведенных высказываний укажите высказывание, раскрывающее причину некорректности работы программы:
(1) на момент определения функции foo() переменная $bar не определена, и попытка получить ее значение завершается неудачей
(2) происходит попытка вызова функции foo() до ее определения, завершающаяся неудачей (т.к. любая пользовательская функция должна быть определена перед тем, как она будет использована)
(3) в функции foo() происходит обращение к локальной переменной $bar, значение которой не определено. Для обращения к глобальной переменной $bar, содержащей нужное значение, следует использовать ключевое слово global или массив $GLOBALS
(4) в функции foo() происходит обращение к локальной переменной $bar, значение которой не определено. Единственным возможным способом передачи значения глобальной переменной в функцию является использование параметров функций
PHP-сценарий содержит следующий код: <?php function foo() { $args = func_get_arg(); foreach($args as $value) { echo $value," "; } } foo("a", "b", "c"); ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) a
(3) a a a
(4) a b c
PHP-сценарий содержит следующий код: <?php function foo(&$bar) { $bar++; } $a = 1; call_user_func("foo", $a); echo $a; ?> Укажите результат выполнения сценария:
(1) cценарий не будет выполнен, т.к. код содержит ошибки
(2) 2
(3) 1
(4) пустая строка
Из приведенных ниже высказываний укажите истинное:
(1) по умолчанию все данные сессии постоянно хранятся в оперативной памяти
(2) по умолчанию информация обо всех данных сессии передается методом Cookie или добавляется в URL (поведение этого механизма зависит от настроек PHP)
(3) по умолчанию информация о данных сессии хранится в текстовом файле, а в оперативной памяти хранится идентификатор сессии
(4) по умолчанию информация о данных сессии хранится в текстовом файле, а идентификатор передается методом Cookie или добавляется в URL (поведение этого механизма зависит от настроек PHP)
При вызове функции session_register():
(1) одна или более переменных с указанными именами регистрируются в массиве $_SESSION
(2) одна или более переменных с указанными именами регистрируются в массиве $HTTP_SESSION_VARS
(3) одна или более переменных с указанными именами регистрируются как глобальные
(4) если функция session_start() не была вызвана ранее - она вызывается автоматически
Файл 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 не удалось
Файл 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";
Файл 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) пустая строка