Тест "PHP 5 - Основы"

Управляющие конструкции
Какой будет результат?
$k = 0
$p = 0
for($i = 0 ; $i < 3 ; $i++)  
    $k += $i;  
echo $k;  
  
for($i = 0 ; $i < 3 ; ++$i)  
    $p += $i;  
echo $p;  

Ваш ответ:  

Правильные ответы: 33

Синтаксис
Укажите все некорректные способы вывода текста в php5:
  • <?php
            echo "Plain text";
    ?>
    

  • <?php echo "Plain Text" ?>
    

  • <#
            echo "Plain text"
    #>
    

  • <script language='php'> echo "Plain Text" </script>
    

Базовые понятия
Где может располагаться indirectly executed PHP скрипт (include файл) ?
  • В Document Root

  • В любом месте

  • За пределами Document Root

Пояснение: настройки PHP 5 (php.ini) позволяют include файлов за пределами Document Root

Синтаксис
Что выведет скрипт?
function foo($bar = "baz") { 
    return $bar

echo foo(); 
echo foo(null); 
echo foo("qux"); 
  • bazqux

  • baz

  • bazbaz

  • bazbazqux

  • baznullqux

Операторы и операции
Какие значения будут в массиве $a после выполнения скрипта?
<?php 
$a = array(1,2,3); 
foreach ( $a as $key => &$value ) { 
    $value = 1

$value = 2
?> 
  • 2,2,2

  • 1,1,1

  • 2,1,1

  • 1,1,2

Пояснение: Ссылка &$value сохраняется после завершения работы foreach

Стандартные функции PHP
Дан запрос:
SELECT name FROM some_table LIMIT 1
Какая из ниже перечисленных функций возвращает ассоциативный массив, у которого ключи являются целыми числами?
  • mysql_fetch_array

  • mysql_fetch_assoc

  • mysql_num_rows

  • mysql_fetch_row

Стандартные функции PHP
Какая из следующих функций в PHP не относится к файловым?
  • fclose

  • fappend

  • fgets

  • fopen

  • fwrite

Переменные и типы данных
Что будет выведено следующим кодом?
$a = 3
$arr[] = "TRUE"
$arr = (array$a
echo $arr[0]; 
  • "TRUE"

  • TRUE

  • 1

  • Предупреждение с просьбой определить индекс массива

  • 3

Пояснение: $arr[] = "TRUE"; - это будет нулевой элемент массива $arr.
$arr = (array) $a; - в ходе преобразования типов получится, что задан массив $arr: ([0]=>3), и его нулевой элемент будет перезаписан.

Синтаксис
Для кода:
<?php echo 30 * 5.7?> 
результатом будет:
  • 171

  • 30 * 5.7

  • 150.7

  • Выражения не могут использоваться с оператором echo

Стандартные функции PHP
Какие из следующих директив возвращают результат, если подключаемый файл содержит возврат значения через return?
  • require_once()

  • require()

  • include()

  • include_once()

Переменные и типы данных
Что выведет на экран этот скрипт?
$numeric = 42
$type = gettype(gettype($numeric + 0.0)); 
echo $type
  • string

  • float

  • mixed

  • double

  • integer

Пояснение: Правильный ответ string, потому что вложенная функция возвратит строку, которая будет передана в качестве параметра первой функции gettype().

Операторы и операции
В каком порядке будут располагаться ключи в массиве $a после выполнения следующего кода?
$а = аrray(); 
$а[1] = $а[] = $а[2] = truе;
  • 1, 2 (перезапись [2])

  • 1, 0, 2

  • 2, 3, 1

  • 2, 0, 1

  • Ошибка синтаксиса: нельзя считывать из $a[]

Пояснение: Оператор присваивания выполняется справа налево. Сначала создается [2], затем создается автоиндекс 3 (максимальный целочисленный ключ +1), и затем создается [1]. Синтаксической ошибки нет, потому что в $a[1] присваивается значение предыдущего оператора присваивания.

Переменные и типы данных
Какой результат выполнения следующего кода?
$var = 1 + "-1.3e3";   
echo $var
  • -1299

  • Ошибка: невозможно сложить целое число и строку

  • 1

  • 1-1.3e3

Операторы и операции
Какой результат выполнения следующего кода?
<?php 
$a = 3
$b = 2
echo (int)$a / (int)$b
?> 
  • 2

  • 1

  • 3

  • 1.5

  • Ошибка интерпретатора

Переменные и типы данных
Что выведет следующий код:
<?php  
$i = (string) 0123
echo (int) $i
?> 
  • 0123

  • 83

  • 123

  • Синтаксическая ошибка

Пояснение: Число 0123 является восьмиричным. Его десятичное представление - 83.

Базовые понятия
Каким образом в PHP выбрасывать исключения?
  • throw Exception('Houston, we have a problem!');

  • raise Exception('Houston, we have a problem!');

  • alert 'Houston, we have a problem!';

  • call 'Houston, we have a problem!';

  • throw new Exception('Houston, we have a problem!');

Управляющие конструкции
Что выведет данный код?
for ($i = 0$i < 5$i++) { 
    if ($i == 2break
    print ++$i

  • 1

  • 0

  • 13

  • Сообщение об ошибке

Синтаксис
Что выведет следующий код?
echo '['..2.']'
  • [2]

  • [0.2]

  • [.2]

  • Ошибка синтаксиса

Пояснение: Вторая точка вместе с двойкой ( .2 ) дает число 0.2, а другие точки есть операторы конкатенции.

Базовые понятия
Поздние версии PHP поддерживают удаленный доступ к файлам для следующих функций:
  • include_once()

  • include()

  • require_once()

Стандартные функции PHP
Каким образом можно сконвертировать массив $myarray в строку JavaScript Object Notation для отправки на другой сервер?
  • $myarray = urlencode($myarray);

  • $myarray = serialize($myarray);

  • $myarray = array_slice($myarray);

  • $myarray = json_encode($myarray);

  • $myarray = htmlentities($myarray);