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

Управляющие конструкции
Что будет выведено после выполнения следующего фрагмента кода:
$operation = "+"
$a = 66
$b = 13
 
switch ($operation) { 
    default : $c = 0
    case "+"$c = $a + $b
    case "-"$c = $a - $b

 
echo $c
  • 79

  • 0

  • null

  • Возникнет ошибка выполнения сценария

  • 53

Операторы и операции
Что получим в результате?
$a = 3
$b = '3'
if ($a === $b
     echo '$a равно $b'
     else eсho '$a не равно $b'
  • Ошибка

  • 3 не равно 3

  • 3 равно 3

  • $a не равно $b

  • $a равно $b

Пояснение: знак "===" сравнивает не только значение но и их типы.

Синтаксис
Какой результат выполнения следующего кода?
for ($j = 0$j < count($MyArray); $j++) { 
  echo($MyArray[$j]); 

  • Обход массива.

  • Определение запросов в переданный массив.

  • Вызов массива.

  • Вывод содержимого массива.

  • Добавление в массив.

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

  • -1299

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

  • 1

Операторы и операции
Какую из этих конструкций нужно использовать чтобы соединить две строки $str1 и $str2, в единую строку?
  • $str1 . $str2 

  • cat($str1$str2

  • $str1 + $str2 

  • fprintf($str1$str2

  • join($str1$str2

Стандартные функции PHP
Какую функцию необходимо поставить вместо 'Х' для определения размера файла:
$size = X(filename); 
  • sizeofFile

  • getSize

  • size

  • filesize

Переменные и типы данных
Какие из следующих синтаксических конструкций допустимы в PHP?
  • @$var

  • $0x0

  • ${0x0}

  • $var

  • &$var

Синтаксис
Какой результат выполнения следующего кода?
<?php 
function 
vec_add (&$a$b

    $a['x'] += $b['x']; 
    $a['y'] += $b['y']; 
    $a['z'] += $b['z']; 

 
$a = array ('x' => 3'y' => 2'z' => 5); 
$b = array ('x' => 9'y' => 3'z' => -7); 
 
vec_add ($a$b); 
 
print_r ($a); 
?> 
  • Array
    (
      [x] => 9
      [y] => 3
      [z] => -7
    )

  • Array
    (
      [x] => 3
      [y] => 2
      [z] => 5
    )

  • Array
    (
      [x] => 12
      [y] => 5
      [z] => -2
    )

  • Ошибка

  • Ничего из вышеперечисленного

Стандартные функции PHP
Какие функции можно использовать для преобразования массива в строку?
  • serialize

  • glue

  • serial

  • implode

Переменные и типы данных
Какой тип данных не допустим в PHP?
  • string

  • integer

  • float

  • char

  • array

  • object

Операторы и операции
Что выведет следующий код?
echo 'foo' . 42 + 'bar' . 'qwe'
  • 0

  • foo42qwe

  • 42qwe

  • 0qwe

Пояснение:

Приоритеты операторов + и . одинаковы. Оператор + преобразует строковые операнды в числа, поэтому 'foo42' + 'bar' равно 0.

Операции выполняются по порядку слева направо. При этом каждый раз происходит преобразование типов:
1) 'foo' . 42 => 'foo' . '42' => 'foo42'
2) 'foo42' + 'bar' => 0 + 0 => 0
3) 0 . 'qwe' => '0' . 'qwe' => '0qwe'

Стандартные функции PHP
Какая функция PHP добавляет тег <br> возле каждого символа перевода строки в некоторой переменной строкового типа?
  • convert()

  • strip_tags()

  • htmlentities()

  • nl2br()

Базовые понятия
Каким образом в 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!');

Стандартные функции PHP
Что будет напечатано в результате выполнения следующего фрагмента кода:
print_r("Hello World"true); 
  • true

  • Hello World

  • Hello World true

  • Ничего не будет напечатано

  • Произойдет синтаксическая ошибка

Пояснение: mixed print_r ( mixed $expression [, bool $return ] )
"Если Вы хотите перехватить вывод print_r(), используйте параметр return. Если его значение равно TRUE, то print_r() вернет результат вывода вместо вывода в браузер (который производится по умолчанию)."

Синтаксис
Какой результат следующего кода?
$Rent = 250
function Expenses($Other

   $Rent = 250 + $Other
   return $Rent

Expenses(50); 
echo $Rent
  • 300

  • 250

  • Возникнет ошибка

  • 200

Базовые понятия
Каким образом объявляется функция, которая возвращает ссылку?
  • function newUser(&userName)

  • function &newUser($userName)

  • function $newUser($userName)

  • function _newUser(_$userName)

  • function ::newUser(::$userName)

Базовые понятия
Как получить значение "flavor" если пользователь отправил данную форму:
<form name="myform"
 <select name="flavor"
  <option value="choc">Chocolate</option> 
  <option value="strb">Strawberry</option> 
  <option value="vnla">Vanilla</option> 
 </select> 
 <input type="submit" name="submit" value="Go"/> 
</form> 
  • $flavor = $_POST["flavor"];

  • $flavor = $GET["flavor"];

  • $flavor = $PUT["flavor"];

  • $flavor = $_GET["flavor"];

  • $flavor = $REQUEST["flavor"];

Переменные и типы данных
Что будет в переменной $b после выполнения следующего кода?
$а = 2
$b = аrrаy(&$а => 1); 
$a = 4;
  • array(2 => 1)

  • array(4 => 1)

  • NULL, сгенерируется предупреждение

  • Возникнет критическая ошибка, выполнение остановится

  • Возникнет ошибка синтаксиса

Пояснение: Ссылку на ключ массива вообще никак нельзя создать. Для этого (и не только) на операции со ссылками накладываются серьёзные ограничения уже в синтаксисе.

Синтаксис
Дан следующий код. Что нужно подкорректировать в строке 3, чтобы он выполнился без ошибок?
1) <?php 
2$newfile = fopen("path/to/new/file/mydata.txt""a+"); 
3) fwrite($newfile ++, "This is a new file."); 
4) fclose($newfile); 
5echo "All done!";                     
  • Убрать ++

  • Поменять ++ на ==

  • Поменять ++ на +=

  • Удалить параметр "This is a new file."

  • Поменять ++ на &&