Skip to content

Latest commit

 

History

History
executable file
·
1621 lines (1224 loc) · 59.4 KB

php-quiz-ua.md

File metadata and controls

executable file
·
1621 lines (1224 loc) · 59.4 KB

PHP

Q1. Що виведе цей код?

echo 76 <=> '76 trombones';

  • 1
  • -1
  • a parser error
  • 0

Обидві сторони "космічного корабля" рівні, тому відповідь 0. PHP перетворить '76 trombones' на 76 у цьому контексті, оскільки рядок починається з '76'. Спробуйте! Для PHP 8.0 і новіших відповідь [x] -1, для попередніх версій відповідь [x] 0. PHP 8 змінив спосіб роботи нестрогого порівняння між числами та нечисловими рядками.

Q2. Який найбезпечніший спосіб уникнути зберігання пароля у відкритому тексті в базі даних?

  • $encrypted = shal($password);
  • $encrypted = crypt($password, \$salt);
  • $encrypted = md5($password);
  • $encrypted = password_hash($password, PASSWORD_DEFAULT);

Q3. Що робить цей скрипт?

$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if ($email === false) {
    $emailErr = "Please re-enter valid email";
}
  • Він перевіряє, чи є адреса електронної пошти правильною та функціональною
  • Він робить адресу електронної пошти безпечною для введення в базу даних
  • Він присвоює адресу електронної пошти змінній, а потім видаляє всі недійсні символи з змінної $email
  • Він перевіряє, чи правильно сформована адреса електронної пошти.

Q4. У наступному скрипті, які рядки викличуть помилку?

1 <?php
2       $count = 0;
3       $_xval = 5;
4       $_yval = 1.0;
5       $some_string = "Привіт!";
6       $some_string = "Як справи?";
7       $will i work = 6;
8       $3blindmice = 3;
9 ?>
  • Рядок 6 викличе помилку, оскільки не можна присвоїти нове значення змінній, яка вже була встановлена.
  • Рядки 7 і 8 викличуть помилку. У рядку 7 є пробіл у $will i work, і має бути $will_i_work. Рядок 8 не може починатися з числа, оскільки це змінна.
  • Рядок 5 викличе помилку, оскільки some_string має бути someString.
  • Рядки 3 і 4 викличуть помилку, оскільки змінна не може починатися з підкреслення (_).

Q5. У умовному операторі потрібно виконати код лише тоді, коли обидва значення є істинними. Який оператор порівняння слід використовувати?

  • ||
  • &
  • <=>
  • &&

Q6. З якого символу починаються всі змінні в PHP?

  • &
  • %
  • _
  • $

Q7. У чому ключова різниця між GET і POST?

  • GET використовується з протоколом HTTP. POST використовується з HTTPS.
  • GET відображає надіслані дані як частину URL. Під час POST ця інформація не показується, оскільки вона закодована в тілі запиту.
  • GET призначений для зміни стану сервера і несе більше даних, ніж POST.
  • GET є безпечнішим за POST і має використовуватися для конфіденційної інформації.

Q8. Оператор корисний для операцій сортування. Він порівнює два значення та повертає ціле число, менше, рівне або більше 0, залежно від того, чи є значення меншим, рівним або більшим за інше.

  • більше; праворуч
  • космічний корабель; ліворуч
  • рівність; праворуч
  • порівняння; ліворуч

Q9. Які є чинні ключові слова для обробки помилок у PHP?

  • try, throw, catch, callable
  • try, yield, catch, finally
  • yield, throw, catch, finally
  • try, throw, catch, finally

Q10. Яке значення дорівнює істині?

  • 0
  • NULL
  • ''
  • -1

Q11. Чого не вистачає в цьому коді, який має створити тестові куки?

$string_name = "testcookie";
$string_value = "This is a test cookie";
$expiry_info = info()+259200;
$string_domain = "localhost.localdomain";
  • Відсутній $_REQUEST.
  • Відсутній масив $_COOKIES.
  • Відсутня сесія куки.
  • Відсутній виклик setcookie().

Q12. Яке значення має $total у цьому обчисленні?

$total = 2 + 5 * 20 - 6 / 3

  • 44
  • 138
  • 126
  • 100

Q13. Яка мета додавання малої літери "u" як модифікатора після останнього роздільника в регулярному виразі, сумісному з Perl?

  • Це змушує метасимвол крапки відповідати будь-чому, включаючи символи нового рядка.
  • Це змушує шаблон відповідати великим літерам.
  • І шаблон, і рядок обробляються як UTF-8.
  • Це змінює жадібність квантифікаторів у шаблоні, щоб вони не були жадібними за замовчуванням.

Q14. Який фрагмент коду використовує правильний синтаксис для створення екземпляра класу Pet?

  • $dog = new Pet;
  • всі ці відповіді
  • $horse = (new Pet);
  • $cat = new Pet();

Q15. Як найкраще пояснити, що робить цей скрипт?

if (!$_SESSION['myusername'])
{
  header('locaton: /login.php');
  exit;
}
  • Цей скрипт завершує сесію для myusername.
  • Куки починають зберігатися в результаті цього скрипту.
  • Цей скрипт перевіряє ім'я користувача та пароль.
  • Цей скрипт знаходиться на сторінці, яка вимагає входу користувача. Він перевіряє, чи є у користувача дійсна сесія.

Q16. Який правильний формат для додавання коментаря до PHP-скрипту?

  • всі ці відповіді
  • #Це коментар
  • /* Це коментар */
  • // Це коментар

Q17. PHP підтримує кілька типів циклів. Якщо потрібно виконати блок коду, якщо і поки вказана умова є істинною, який тип циклу слід використовувати?

  • for
  • do-while
  • while
  • foreach

Q18. Функція ignore_user_abort( ) встановлює, чи має відключення клієнта припинити виконання скрипту. У якому сценарії веброзробник використовуватиме цю функцію?

  • Використовується для запобігання натисканню користувачем кнопки "Назад", якщо він вирішить не переглядати результат кліку.
  • Використовується, якщо є важливий процес, який не можна зупинити, навіть якщо користувачі натискають "Скасувати".
  • Використовується для припинення скрипту для всіх авторизованих користувачів, а не лише для того, хто відключився.
  • Використовується, якщо потрібно, щоб PHP-скрипт працював вічно.

Q19. Функція PHP array_reduce() приймає функцію зворотного виклику, яка приймає значення, що передається через кожну ітерацію, і поточний елемент масиву, і зводить масив до одного значення. Який приклад коду підсумує та виведе значення в наданому масиві?

  • ­
  <?php
  echo array_reduce([1, 2, 5, 10, 11], function ($item, $carry) {
      $carry = $carry + $item;
  });
?>
  • ­
  <?php
  echo array_reduce([1, 2, 5, 10, 11], function ($carry, $item) {
      return $carry = $item + $item;
  });
?>
  • ­
  <?php
  array_reduce([11 2, 5, 10, 11], function ($item, $carry) {
      echo $carry + $item;
  });
?>
  • ­
  <?php
  echo array_reduce([1, 2, 5, 10, 11], function ($carry, $item) {
      return $carry += $item;
  });
?>

Q20. Який PHP-скрипт використовує конструктор для відображення рядка "Зима майже закінчилася!"?

  • ­
  class MyClass {
  public function _construct()
  {
  echo 'Зима майже закінчилася!'."\n";
  }
  }
  $userclass = new MyClass;
  • ­
  class MyClass {
  public function _construct()
  {
  echo 'Зима майже закінчилася!.."\n";
  }
  }
  $userclass = new MyClass;
  • ­
  class MyClass {
  public function _construct()
  {
  echo 'Зима майже закінчилася!.."\n";
  }
  }
  $userclass = new MyClass;
  • ­
  class MyClass {
  public function _construct()
  {
  echo 'Зима майже закінчилася!'."n";
  }
  }
  $userclass = MyClass;

Q21. Як можна усунути помилку "call to undefined function"?

  • Переконатися, що імпортовано файл, що містить функцію.
  • Переконатися, що ім'я функції написано правильно.
  • всі ці відповіді
  • Переконатися, що оголошення функції знаходиться раніше в коді, ніж виклик функції.

Q22. Який рядок НЕ можна використовувати для коментування "Космос: останній рубіж"?

  • /* Космос: останній рубіж */
  • */ Космос: останній рубіж /*
  • #Космос: останній рубіж
  • // Космос: останній рубіж

Q23. Що відображається в браузері, коли написано наступний код? <?php echo "Скільки коштують банани?"?>

  • Браузер нічого не відобразить через синтаксичну помилку.
  • Браузер відобразить помилку, оскільки немає дужок навколо рядка.
  • Браузер відобразить Скільки коштують банани?
  • Браузер відобразить помилку, оскільки в кінці команди echo немає крапки з комою.

Q24. Який оператор використовується для знаходження залишку після ділення?

  • /
  • %
  • //
  • DIV

Q25. Яке значення мають три крапки в сигнатурі цієї функції?

function process(...$vals) {
    // виконується обробка
}
  • Це робить функцію варіативною, дозволяючи приймати як аргумент масив, що містить довільну кількість значень.
  • Це робить функцію варіативною, дозволяючи приймати довільну кількість аргументів, які перетворюються на масив усередині функції.
  • Це тимчасово вимикає функцію під час налагодження інших частин скрипту.
  • Це нагадування типу TO DO, яке автоматично викликає повідомлення під час запуску скрипту до завершення визначення функції.

Q26. Припустимо, що клас Horse існує, який приклад успадкування є правильним у PHP?

  • class Pegasus extends Horse {}
  • class Alicorn imports Pegasus, Unicorn {}
  • class Unicorn implements Horse {}
  • class Horse inherits Unicorn {}

Q27. І потрійне ===, і подвійне == можна використовувати для змінних у PHP. Якщо потрібно перевірити, що рядок "33" і число 33 рівні, слід використовувати . Якщо потрібно перевірити, чи містить масив певне рядкове значення за певним індексом, слід використовувати _

  • порівняння; подвійне; потрійне
  • порівняння; потрійне; подвійне
  • присвоєння; потрійне; подвійне
  • присвоєння; подвійне; потрійне

Q28. Сторінка PHP несподівано відображається повністю порожньою. Який крок допоможе пролити світло на проблему?

  • Додати цей код на початок скрипту: ini_set('display_errors',1);
  • Перевірити журнал помилок сервера
  • всі ці відповіді
  • Переконатися, що не пропущено жодної крапки з комою

Q29. Який спосіб створення масиву "seasons" є правильним?

  • ­
seasons=array(
    1=>'spring',
    2=>'summer',
    3=>'autumn',
    4=>'winter',
);
  • $seasons=array(spring,summer,autumn,winter);
  • $seasons=('spring','summer','autumn','winter');
  • $seasons=['spring','summer','autumn','winter'];

Q30. І self, і this є ключовими словами, які можна використовувати для посилання на змінні-члени класу. Різниця полягає в тому, що $this->member слід використовувати для членів _, а self::$member слід використовувати для членів _.

  • приватних, публічних
  • об'єктних, примітивних
  • нестатичних, статичних
  • конкретних, абстрактних

Q31. Що виведе цей код?

$mathe=array('archi','euler','pythagoras');
array_push($mathe,'hypatia');
array_push($mathe,'fibonacci');
array_pop($mathe);
echo array_pop($mathe);
echo sizeof($mathe);
  • euler3
  • hypatia5
  • hypatia3
  • fibonacci4

Q32. Ви використовуєте наступний код для пошуку улюбленого гурту користувача, але він повертає false. Який крок(и) вирішить проблему?

isset ($_GET['fav_band'])

  • перевірити, чи включено fav_band у рядок запиту у верхній частині браузера
  • всі відповіді
  • переглянути вихідний код форми та переконатися, що є поле введення з ім'ям 'fav_band'
  • вивести усе, що було передано в запиті: print_r($_REQUEST);

Q33. Який код ви б використали для виведення всіх елементів масиву під назвою $cupcakes?

  • всі відповіді
  • print_r($cupcakes);
  • var_dump($cupcakes);
  • foreach($cupcakes as &$cupcake) echo $cupcake;

Q34. Що є причиною 'Cannot modify header information - headers already sent'?

  • Спроба змінити приватне значення
  • Пропущено крапку з комою
  • Використання ключа в масиві, якого не існує
  • Деякий HTML надсилається перед командою header(), яка використовується для перенаправлення

Q35. Яка структура керування PHP використовується всередині циклу для пропуску решти коду поточного циклу та повернення до початку циклу для наступної ітерації?

  • else
  • break
  • return
  • continue

Q36. Оператор заперечення PHP - це !. Враховуючи фрагмент, чи є виведення і яке воно?

<?php
$num = 21;

if ($num%2!=0) {

   echo "$num є непарним числом";

} else {

   echo "$num є парним числом";
}
?>
  • є виведення '2 є парним числом'
  • виведення '21 є непарним числом'
  • немає виведення. Синтаксична помилка через відсутність крапки з комою в кінці
  • немає виведення через % у $num%2!=0

Q37. Потрібно перелічити модулі, доступні у установці PHP. Яку команду слід виконати?

  • php -h
  • php info
  • php -v
  • php -m

Q38. Для наведеної нижче HTML-форми, який скрипт правильно перевіряє введення "mail", щоб переконатися, що воно заповнене перед продовженням?

<form method="post" action="test.php">
  Email: <input type="text" name="mail" />
  <input type="submit" />
</form>
  • [x]
if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";
} else {
    echo "No, mail is not set";
}
  • [ ]
if ($_POST["mail"] == "") {
    echo "No, mail is not set";
} else {
    echo "Yes, mail is set";
}
  • [ ]
if (isset($_POST["mail"])) {
    echo "Yes, mail is set";
} else {
    echo "No, mail is not set";
}
  • [ ]
if ($_POST["mail"]) {
    echo "Yes, mail is set";
} else {
    echo "No, mail is not set";
}

Q39. Яке значення має $result у цьому обчисленні?

$result = 25 % 6;

  • 4.167
  • 1.5
  • 4
  • 1

Q40. Яка роль контролера як компонента в MVC?

  • Контролер обробляє дані, передані йому представленням, а також передає дані представленню. Він інтерпретує дані, надіслані представленням, і передає ці дані відповідним моделям, очікуючи результатів для передачі назад у представлення.
  • Контролер — це механізм, який дозволяє створювати багаторазовий код у таких мовах, як PHP, де множинне успадкування не підтримується.
  • Контролер представляє вміст через інтерфейс користувача після безпосереднього спілкування з базою даних.
  • Контролер обробляє конкретні завдання, пов’язані з певною областю функціональності, обробляє бізнес-логіку, пов’язану з результатами, і безпосередньо взаємодіє з базою даних.

Q41. Чому цей код викликає помилку?

$string = 'В цієї дев'яносторічної старої зберігались уже сімдесят років її весільні вбрання з розкішних ліонських шовків, гаптованих золотом.';

  • Рядки завжди слід обгортати в подвійні лапки, а подвійні лапки всередині рядка слід екранувати зворотними косими рисками.
  • Усі одинарні та подвійні лапки всередині рядка потрібно екранувати зворотними косими рисками, щоб уникнути помилки парсера.
  • Відкриваючі та закриваючі одинарні лапки слід замінити на подвійні лапки, а апостроф слід екранувати зворотною косою рискою.
  • Апостроф потрібно екранувати зворотною косою рискою, щоб він не сприймався як закриваюча лапка.

Q42. Об'єкт PDO під назвою $db налаштований для використання в операціях з базою даних, включаючи автентифікацію користувачів. Усі властивості, пов’язані з користувачем, встановлені. Рядок скрипту public function __construct(&$db) показує конструктор, який ініціалізує всі властивості, пов’язані з користувачем, на _, якщо жоден користувач не увійшов у систему. Ці параметри будуть правильно встановлені функціями входу, коли користувач увійде в систему.

  • NULL
  • TRUE
  • FALSE
  • 0

Q43. Припустимо, що $first_name і $family_name є дійсними рядками, який вираз є недійсним?

  • echo $first_name. ' '. $family_name;
  • print $first_name, ' ', $family_name;
  • print $first_name. ' '. $family_name;
  • echo $first_name, ' ', $family_name;

Q44. Який фрагмент коду демонструє інкапсуляцію?

  • ­
  class Cow extends Animal {
      private $milk;
  }
  • ­
  class Cow {
      public $milk;
  }
  $daisy = new Cow();
  $daisy->milk = "creamy";
  • ­
  class Cow {
      public $milk;
      function getMilk() {`
          return $this->milk;
      }
  }
  • ­
  class Cow {
      private $milk;
      public function getMilk() {
          return $this->milk;
      }
  }

Q45. Наступний XML-документ знаходиться в books.xml. Який код виведе "Історичне"?

<books>
    <book>
        <title>Розповідь про два міста</title>
        <author>Чарльз Диккенз</author>
        <categories>
            <category>Класичне</category>
            <category>Історичне</category>
        </categories>
    </book>
    <book>
        <title>А потім не було нічого</title>
        <author>Агата Кристі</author>
        <categories>
            <category>Таємне</category>
        </categories>
    </book>
</books>
  • ­
  $books = simplexml_load_string('books.xml');
  echo $books->book[0]->categories->category[1];
  • ­
  $books = simplexml_load_file('books.xml');
  echo $books->book[0]->categories->category[1];
  • ­
  $books = SimpleXMLElement('books.xml');
  echo $books->book[0]->categories->category[1];
  • ­
  $books = SimpleXML('books.xml');
  echo $books->book[0]->categories->category[1];

Q46. Коли йдеться про значення змінної, яка різниця між NULL і empty?

  • NULL — це порожнє значення; empty — це відсутність значення.
  • Значення NULL має виділену адресу в пам’яті; empty — ні.
  • NULL стосується відсутності значення для цілого числа; empty стосується відсутності значення для рядка.
  • NULL — це відсутність значення; empty — це порожнє значення.

Q47. Яка була б гарна назва для цієї функції?

function doStuff($haystack, $needle) {
      $length = strlen($needle)
      if (substr($haystack, 0, $length) == $needle)
        return true;
      else
        return false;
}
  • equals
  • endsWith
  • startsWith
  • contains

Q48. Якщо потрібно передати поле форми на іншу сторінку під час натискання кнопки, слід використовувати . Якщо потрібно зберігати інформацію на кількох сторінках, слід використовувати?

  • request; response
  • response; request
  • session; request
  • request; session

Q49. Ви використовуєте наступний код, щоб визначити, чи натиснута кнопка, але він ніколи не повертає true. Який крок, ймовірно, допоможе вирішити проблему?

isset($_POST['submit'])
  • Переконатися, що поле введення, яке відображає кнопку, називається 'submit'
  • Переконатися, що не пропущено жодної крапки з комою
  • Вивести усе в сесії print_r($_SESSION);
  • Подивитися в рядок запиту у верхній частині браузера, щоб побачити, чи присвоєно submit значення

Q50. Чому слід дотримуватися стандарту PSR?

  • тому що стандарти кодування часто відрізняються між розробниками та компаніями
  • тому що стандарти кодування контролюються на відповідність між розробниками та компаніями
  • тому що існують обов’язкові стандарти кодування серед розробників і компаній
  • якщо використовуються певні платформи, оскільки PSR застосовуються лише до цих платформ

Q51. Що таке гетери та сетери?

  • Гетери та сетери забезпечують, виконання наступної умови - якщо член даних оголошений приватним, то він може бути доступний лише в межах тієї ж функції, а не у зовнішньому класі
  • Гетери та сетери — це утиліти в PHP, які дозволяють завантажувати з бази даних і зберігати в неї
  • Гетери та сетери інкапсулюють поля класу, роблячи їх доступними лише через приватні методи, а самі значення залишаються публічними
  • Гетери та сетери — це методи, які використовуються для оголошення або отримання значень змінних, зазвичай приватних

Q52. Які рекомендовані налаштування у файлі конфігурації PHP, php.ini, для тестового середовища?

  • ­
  report_errors = E_ALL
  display_errors = On
  • ­
  error_reporting = E_ALL
  display_errors = On
  • ­
  error_reporting = E_ALL & ~E_NOTICE
  display_errors = Off
  • ­
  error_reporting = E_ALL & ~E_NOTICE
  display_errors = On

Q53. Яка змінна PHP є недійсною?

  • $Double
  • $double
  • $_2times
  • $2times

Q54. Яка команда витягне суфікс домену ("com") зі строки $string = "https://cat-bounce.com";?

  • sub($string, -3)
  • substr($string, -3)
  • substr($string, 3)
  • $string.substr(-3)

Q55. Де виконується PHP-код?

  • у браузері клієнта
  • у віртуальній машині
  • у пам'яті комп'ютера, що переглядає вебсторінку
  • на вебсервері

Q56. Яка з наведених магічних констант є недійсною?

  • __RESOURCE__
  • __FUNCTION__
  • __CLASS__
  • __TRAIT__

Довідка

Q57. Що виведе наступний скрипт?

  if( 1 == true){
        echo "1";
  }

  if( 1 === true){
      echo "2";
  }

  if("php" == true){
      echo "3";
  }

  if("php" === false){
      echo "4";
  }
  • 134
  • 13
  • 1
  • 123

Q58. Коли слід використовувати цей PHP-скрипт?

$secret_word = 'if i ate spinach';
setcookie('login', $_REQUEST['username']. ','. md5($_REQUEST['username'].$secret_word));
  • коли користувач оплачує товар онлайн
  • коли товари додаються до кошика
  • при першій реєстрації
  • при кожному вході, для безпеки

Q59. PHP "variable variable" приймає значення змінної та використовує його як ім'я змінної. Наприклад, якщо $var — це змінна, то $$var — це змінна змінна, ім'я якої є значенням $var. Який скрипт виведе наступний результат, використовуючи змінні змінні?

Cat
Dog
Dog
  • :
  $name = "Cat";
  $name = "Dog";
  echo $name . "<br/>";
  echo $$name . "<br/>";
  echo $Dog;
  • :
  $name = "Cat";
  $$name = "Dog";
  echo $name . "<br/>";
  echo $$name . "<br/>";
  echo $Dog;
  • :
  $name = "Cat";
  $$name = "Dog";
  echo $name . "<br/>";
  echo $$name . "<br/>";
  echo $Cat;
  • :
  $name = "Cat";
  $$name = "Dog";
  echo $name . "<br/>";
  echo $name . "<br/>";
  echo $Cat;

Q60. Уявіть вебзастосунок, побудований за архітектурою MVC, який містить вікторину та кнопку для підрахунку балів. Коли користувач натискає кнопку "Підрахувати", який компонент має обробити запит?

  • маршрутизатор
  • контролер
  • модель
  • представлення

Q61. Який скрипт може бути використаний для продовження пошуку музики користувачем на різних вебсторінках?

  • ­
  <?php
      start_session();
      $music = $_SESSION['music'];
  ?>
  • ­
  <?php
      session_start();
      $music = $SESSION['music'];
  ?>
  • ­
  <?php
      start_session();
      $music =$session['music'];
  ?>
  • ­
  <?php
      session_start();
      $music = $_SESSION['music'];
  ?>

Q62. Який PHP-скрипт знаходить найраніші та найпізніші дати з масиву?

  • ­
  <?php
  $dates = array('2018-02-01', '2017-02-02', '2015-02-03');
  echo "Найпізніша дата: ". max($dates)."\n";
  echo "Найраніша дата: ". min($dates)."\n";
  ?>
  • ­
  <?php
  $dates = array('2018-02-01', '2017-02-02', '2015-02-03');
  echo "Найпізніша дата: ". min($dates)."\n";
  echo "Найраніша дата: ". max($dates)."\n";
  ?>
  • ­
  <?php
  $dates = array('2018-02-01', '2017-02-02', '2015-02-03');
  echo "Найпізніша дата: ". ($dates)."\n";
  echo "Найраніша дата: ". ($dates)."\n";
  ?>
  • ­
  <?php
  $dates = array('2018-02-01', '2017-02-02', '2015-02-03');
  echo "Найпізніша дата: " max($dates)."\n";
  echo "Найраніша дата: " min($dates)."\n";
  ?>

Q63. Який результат цього циклу for?

$kilometers = 1;
for (;;) {
    if ($kilometers > 5) break;
       echo "$kilometers kilometers = ".$kilometers*0.62140. " miles. <br />";
    $kilometers++;
}
  • ­
  kilometers = 0.6214 miles.
  kilometers = 1.2428 miles.
  kilometers = 1.8642 miles.
  kilometers = 2.4856 miles.
  kilometers = 3.107 miles.
  • ­
  kilometers = 0.6214 miles.
  kilometers = 1.2428 miles.
  kilometers = 1.8642 miles
  kilometers = 2.4856 miles.
  kilometers = 3.107 miles.
  kilometers = 3.7284 miles.
  • ­
  kilometers = 1.2428 miles.
  kilometers = 1.8642 miles.
  kilometers = 2.4856 miles.
  kilometers = 3.107 miles.
  • ФАТАЛЬНА ПОМИЛКА синтаксична помилка, несподіваний ')', очікується ';' на рядку 2

Q64. У PHP 7, який правильний спосіб імпорту кількох класів з простору імен в одному оголошенні?

  • use myApp\myNamespace{ClassA, ClassB, ClassC};
  • use myApp\myNamespace\ClassA, ClassB, ClassC;
  • use myApp\myNamespace[ClassA, ClassB, ClassC];
  • use myApp\myNamespace(ClassA, ClassB, ClassC);

Q65. Який найповніший список типів даних, що підтримуються PHP?

  • string, integer, float, boolean, array, object, NULL, resource
  • string, integer, boolean, array, object, NULL, resource
  • string, integer, float, array, object, NULL, resource
  • string, integer, float, boolean, array, object, NULL

Довідка

Q66. Яким типом комп'ютерної мови є PHP?

  • серверна мова сценаріїв
  • компільована мова
  • машинна мова
  • алгоритмічна мова

Довідка

Q67. Яка суперглобальна змінна містить інформацію про заголовки, шляхи та місця розташування скриптів?

  • $_SERVER
  • $SERVER_VARIABLES
  • $_ENV
  • $GLOBALS

Довідка

Q68. Опишіть, що станеться, якщо запустити цей код у тестовому середовищі

$capitals = ['UK' => 'London', 'France' => 'Paris'];
echo "$capitals['france'] is the capital of France.";
  • Виведе: "Paris is the capital of France."
  • Виведе: " is the capital of France."
  • Викличе синтаксичну помилку, оскільки ключі масиву в рядку 1 знаходяться в лапках.
  • Викличе синтаксичну помилку, оскільки ключ масиву в рядку 2 знаходиться в лапках.

Також, ключ 'france' має бути з великої літери!

Q69. DRY (Don't Repeat Yourself) — це принцип розробки програмного забезпечення, спрямований на зменшення повторення шаблонів програмного забезпечення. Який варіант не є способом написання коду з меншими повтореннями у PHP?

  • наслідування
  • класи
  • простори імен
  • впровадження залежностей

Q70. Який код поверне IP-адресу клієнта?

  • $HTTP_SERVER_VARS("REMOTE_IP")
  • $_SESSION["REMOTE_ADDR"];
  • $_SERVER["HTTP_X_FORWARDED_FOR"]
  • getenv("REMOTE_ADDR")

Обидва варіанти 2 і 4 правильні!

Q71. Ваш сайт повинен дозволяти завантаження великих файлів. Що потрібно зробити?

  • Переконатися, що користувач має відповідні дозволи.
  • Вести облік розмірів завантажених файлів і записувати їх.
  • Змінити параметр конфігурації upload_max_filesize.
  • Переконатися, що використовується кодування з розбиттям на частини.

Q72. Який результат цього скрипту?

$my_text = 'The quick grey [squirrel].';
preg_match('#\[(.*?)\]#', $my_text, $match);
print $match[1]."\n";
  • squirrel
  • The quick grey [squirrel].
  • [squirrel]
  • The quick grey squirrel.

Q73. Який результат цього скрипту?

$fruits = ['apple', 'orange', 'pear', 'mango', 'papaya']; $i = 0; echo $fruits[$i+=3];

  • mango
  • apple
  • синтаксична помилка
  • pear

Q74. Які основні типи помилок у PHP?

  • notices, warnings, fatal
  • runtime, logical, compile
  • semantic, logical, syntax
  • warnings, syntax, compile

Q75. Який правильний спосіб включити файл gravy.php посеред HTML-коду?

  • <!-- include file="gravy.php"; -->
  • <?php include gravy.php; ?>
  • <?php include "gravy.php"; ?>
  • <?php include file="gravy.php"; ?>

Q76. Які дві функції можуть очистити текст і перевірити формати тексту?

  • session_start() і filter_input()
  • filter_var() і filter_input()
  • preg_match() і strstr()

Q77. Чому не рекомендується робити всі змінні класу публічними?

  • Це робить код тісно пов'язаним.
  • Атрибут може бути доступний лише класом, який визначає цей член.
  • Не буде контролю над тим, які значення може приймати атрибут. Будь-який зовнішній код зможе змінити його без обмежень.
  • Тоді атрибут можна буде використовувати лише в межах самого класу, а також у спадкових і батьківських класах.

Q78. Ви хочете використовувати символи підстановки під час пошуку записів у базі даних MySQL/MariaDB за допомогою підготовленого виразу PDO. Який код слід використовувати?

  • $statement->bindValue(':name', '%' . $_GET['name'] . '%');
  • $statement->bindValue('%' . $_GET['name'] . '%', ':name');
  • $statement->bindParam(':name', '%' . $_GET['name'] . '%');
  • $statement->bindParam('%' . $_GET['name'] . '%', ':name');

Q79. Створіть асоціативний масив, використовуючи $array1 як ключі та $array2 як значення

$array1 = ['country', 'capital', 'language']; $array2 = ['France', 'Paris', 'French'];

  • $array3 = array_merge($array1, $array2);
  • $array3 = array_union($array1, $array2);
  • $array3 = array_keys($array1, $array2);
  • $array3 = array_combine($array1, $array2);

Q80. Припустимо, що $r дорівнює 255, а $g і $b дорівнюють 0. Який правильний код для виведення "#ff0000"?

  • printf('#%2x%2x%2x', 255, 0, 0);
  • printf('#%2X%2X%2X', $r, 0, 0);
  • printf('#%x%x%x', 255, 0, 0);
  • printf('#%02x%02x%02x', 255, 0, 0);

Q81. Ви хочете дізнатися, на який день припадає Дванадцята ніч після Різдва 2018 року. Який код слід використовувати?

  • $xmas = new DateTime('Dec 25, 2018'); $twelfth_night = $xmas->add(new DateInterval('P12D')); echo $twelfth_night->format('l');

  • $twelfth_night = strtotime('December 25, 2018 + 12 days'); echo date('d', $twelfth_night);

  • $twelfth_night = strtotime('December 25, 2018 + 12 days'); echo strftime('%d', $twelfth_night);

  • $xmas = new DateTime('Dec 25, 2018'); $twelfth_night = $xmas->add(strtotime('12 days')); echo $twelfth_night->format('D');

1 здається правильним, але питання стосується "дня", а не дня тижня. Дванадцята ніч — це "06" день січня 2019 року.

Q82. Який цикл виведе всі числа від 1 до 10 включно?

  • $i = 1; while ($i < 10) { echo $i++ . '<br/>'; }

  • $i = 0; while ($i <= 10) { echo $i++ . '<br/>'; }

  • while ($i &lt;= 10) { echo ++$i . '<br/>'; }

  • $i = 0; while ($i < 10) { echo ++$i . '<br/>'; }

Q83. Які типи керуючих структур у PHP?

  • break, continue, do-while, exception, for, foreach, if, switch, throw, while
  • values, operators, expressions, keywords, comments
  • for, foreach, if, else, else if, switch, tries, throws, while
  • if-then-else, do-while, for-each, go-to, stop-when

Довідка

Q84. Яку функцію можна використовувати для обробки помилок, щоб зупинити виконання скрипту, і яка є еквівалентом exit()?

  • die
  • return
  • throw
  • break

Q85. Чи виводяться числа у спадному порядку, вертикально, і з пробілами між ними? І який результат?

$numbers = array(4,6,2,22,11);
sort($numbers);
$arrlength = count($numbers);
for($x = 0; $x < $arrlength; $x++){
    echo $numbers[$x];
    echo "<br />";
    }
  • Ні, оскільки результатом будуть числа "2461122", які не мають певного порядку.
  • Так, оскільки
    присутній, і sort() сортує у спадному порядку
  • Ні, оскільки функція sort() сортує індексований масив у зростаючому порядку. Таким чином, цей код виведе "2 4 6 11 22" вертикально, але числа розділені пробілами.
  • Ні, оскільки echo просто виведе числа масиву в порядку, показаному в масиві $numbers, який є зростаючим

Q86. Що не є правдою про toString() у PHP?

  • Економить багато роботи з використанням методів сетера для доступу до значень об'єктів.
  • Економить багато роботи з використанням методів гетера для доступу до значень об'єктів.
  • Дозволяє викликати об'єкт і бачити його компоненти як рядок.
  • Викликається автоматично, коли використовується echo або print.

Q87. Що таке генератор і як він використовується в PHP?

  • Генератор — це функція, яка генерує серію випадкових значень для тестування коду.
  • Генератор — це простий ітератор, здатний генерувати серію результатів. Він має такий самий синтаксис, як функція, за винятком того, що використовує "next" замість "return".
  • Генератор — це простий ітератор, здатний генерувати серію результатів. Він має такий самий синтаксис, як функція, за винятком того, що використовує "yield" замість "return".
  • Генератор — це функція, здатна генерувати серію результатів. Після завершення серії вона автоматично починається з першого результату.

Q88. Який найкращий опис цього скрипту?

if( isset($user_info['url']) ) {
  $_SESSION["loggedIn"] = true;
  $_SESSION["username"] = $myusername;
  header('Location: ' . $user_info['url']); // Переспрямування до поданої URL-адреси з БД
} else {
  header("Location: error.htm");
}
  • Він перенаправляє всіх користувачів на ту саму сторінку під час входу.
  • Це скрипт входу для користувацького порталу на вебсайті.
  • Він зберігає користувача в системі під час використання різних браузерів.
  • Він перенаправляє користувача на сторінку помилки, якщо він вводить неправильну URL-адресу

Q89. Який результат цього коду?

echo 5 % 0.75;

  • 0
  • 0.6666666666667
  • 1
  • fatal error (division by zero)

Q90. Чи можна розширити клас, оголошений як final?

  • Ні, оскільки оголошення класу або методу як final забороняє перевизначення дочірнього класу або методу.
  • Спеціалізовані версії вбудованих класів можна розширити, викликавши конструктор батьківського класу.
  • Так, якщо клас final оголошений як приватний у батьківському класі.
  • Так, клас, оголошений як final, можна використовувати для оголошення констант.

Q91. Як можна перевірити, чи встановлений прапорець?

  • Скористатися !empty($_GET['test'])
  • Скористатися isset($_GET['test'])
  • Скористатися $_GET['test'] == ''
  • всі інші відповіді

Насправді обидва варіанти правильні, варіант 3 фактично перевіряє, чи прапорець не встановлений

Q92. Форма для підписки на розсилку подається за допомогою методу POST. Форма містить лише одне поле: текстове поле введення з назвою "email". Як перевірити, чи поле порожнє, і якщо так, вивести "Електронна пошта не може бути порожньою"?

  • ­
if(empty($_POST['email'])) {
    echo "Електронна пошта не може бути порожньою";
}
  • ­
if(empty($_GET['email'])) {
    echo "Електронна пошта не може бути порожньою";
}
  • ­
if(empty($_POST('email'))) {
    echo "Електронна пошта не може бути порожньою";
}
  • ­
if(isset($email)) {
    echo "Електронна пошта не може бути порожньою";
}

Q93. Що таке фатальна помилка PHP?

  • Цей тип помилки викликає припинення виконання скрипту, коли вона виникає.
  • Причини цього типу помилки не виявляються компілятором і призводять до неправильних результатів.
  • Цей тип помилки викликає помилкові результати або може призвести до припинення програми.
  • Цей тип помилки викликає припинення після відображення списку помилок і номера рядка, де вони виникли.
  1. Довідка1
  2. Довідка2

Q94. Який скрипт правильно перевіряє IP-адресу?

  • ­
$valid = ip2long($ip) !== false;
  • ­
$ip_address = "164.12.2540.1";
if(filter_var($ip_address, FILTER_VALIDATE_IP)){
  echo "$ip_address дійсна IP-адреса";
} else {
  echo "$ip_address недійсна IP-адреса";
}
  • ­
$ip_address = "164.12.2540.1";
if(validate_ip($ip_address)){
  echo "$ip_address дійсна IP-адреса";
} else {
  echo "$ip_address недійсна IP-адреса";
}
  • ­
$ip_address = "164.12.2540.1"
echo is_valid($ip_address, VALIDATE_IP);

Q95. Який результат цього коду?

    $i = 0;
    while($i < 6) {
    if($i++ == 3) break;
    }
    echo "цикл зупинено на $i через оператор break";
  • цикл зупинено на 3 через оператор break
  • цикл зупинено на 4 через оператор break
  • цикл зупинено на 6 через оператор break
  • цикл зупинено на 2 через оператор break

Q96. Після створення об'єктів можна викликати функції-члени, пов'язані з цим об'єктом, наприклад, встановити імена та ціни для трьох об'єктів "Pet". Який ймовірний результат цього фрагмента коду?

    $dof->setTitle("Spot");
    $cat->setTitle("Mimi");
    $horse-?setTitle("Trigger");
    $dog->setPrice(10);
    $cat->setPrice(15);
    $horse->setPrice(7);
    print_r($cat);
  • Pet Object ( [title]=> Spot[price]=>10)
  • Pet Object ( [title]=> Mimi [price]=>15 )
  • Pet Object ( [title]=> Mimi[price]=>10 )
  • Pet Object ( [title]=> Trigger [price]=> 7)

Q97. Враховуючи наведений нижче асоціативний масив, який PHP-код визначає, який елемент(и) масиву є яблуком?

$array = array(
'fruit1' => 'яблуко',
'fruit2' => 'апельсин',
'fruit3' => 'виноград',
'fruit4' => 'яблуко',
'fruit5' => 'яблуко');
  • ­
while ($fruit_name = current($array)) {
    if ($fruit_name == 'яблуко') {
        echo key($array).'<br />';
    }
    next($array);
}
  • ­
while ($fruit_name = current($array)) {
    if ($fruitname == 'яблуко') {
        echo key($array).'<br />';
    }
    next($array);
}
  • ­
while ($fruit_name = current($array)) {
    if ($fruit_name == 'яблуко')
        echo key($array).'<br />';
    }
    next($array);
}
  • ­
while ($fruit_name = current($array)) {
    if ($fruit_name == 'яблуко') {
        echo key($array).'<br />';
    }

Q98. Що виводить цей код?

class Smurf {

  public $name = "Papa Smurf";

  public function __construct($name) {
    $this->name = $name;
  }

  public function set_name($name) {
    $name = $name;
  }
}

$smurf = new Smurf("Smurfette");
$smurf->set_name("Handy Smurf");
echo $smurf->name;
  • нічого
  • Handy Smurf
  • Smurfette
  • Papa Smurf

Q99. У вас є онлайн-форма з полем введення файлу під назвою "image" для завантаження файлів. Припускаючи, що шлях до каталогу завантаження — це $path, який код слід використовувати, щоб переконатися, що файл завантажено з вашої форми в правильне місце?

  • ­
if ($_FILES['image']['error'] === 0) {
      move_uploaded_file($_FILES)['image']['temp_name'],
          $path . $_FILES['image']['name']);
 )
  • ­
if ($_FILES['image']['error'] === false) {
      move_uploaded_file($_FILES)['image']['temp_name'],
          $path . $_FILES['image']['name']);
 )
  • ­
if ($_FILES['image']['error'] == 0) {
      copy($_FILES)['image']['temp_name'],
          $path . $_FILES['image']['name']);
 )
  • ­
if ($_FILES['image']['error'] == false) {
      upload_file($_FILES)['image']['temp_name'],
          $path . $_FILES['image']['name']);
 )

Q100. Яка супер глобальна змінна містить інформацію про заголовки, шляхи та розташування скриптів?

  • $_GET
  • $GLOBALS
  • $_SESSION
  • $_SERVER

Q101. Використовуючи цикл for, як написати PHP-код для зворотного відліку від 10 до 1 у такому порядку?

  • ­
<?
for ($i=1; $i <= 10; $i++) {
    echo $i;
}
?>
  • ­
<?
$i = 10;
while($i>=0) {
    echo $i;
    $i--;
}
?>
  • ­
<?
    for($i = 10; $i > 0; $i++) {
        print "$i <br />\n";
    } // end for loop '''
?>
  • ­
<?
    for($i = 10; $i > 0; $i--) {
        print "$i <br />\n";
    } // end for loop
?>

Q102. Який результат цього коду?

function knights(){
return "кущ";
}

if (knights())
printf "ти справедливий і чесний";
else
printf "NI!";
  • NI!
  • синтаксична помилка
  • кущ
  • ти справедливий і чесний

Q103. Який скрипт визначає "Україна" як константу та виводить цей код?

Наша країна — Сполучені Штати Америки Наша країна має загалом 50 штатів

  • ­
define('country',"Україна");
define('states',24);
echo "Наша країна "country"<br>";
echo "Наша країна має ".states." області";
  • ­
define('country',"Україна");
define('states',50);
echo "Наша країна ".country."<br>";
echo "Наша країна має ".states." області";
  • ­
define(country,"Україна");
define('states',50);
echo "Наша країна ".country."<br>";
echo "Наша країна має ".states." області";
  • ­
define('country',"Україна");
define('states','двадцать чотири');
$K = 'strval'; echo "Наша {$K(країна)} має {$K(двадцать чотири)} області.";

Q104. Що виводить цей код?

try{
echo "bodacious";
throw new Exception();
} catch (Exception $e) {
echo "egregious";
} finally {
echo "excellent";
}
  • bodacious excellent
  • egregious excellent
  • bodacious egregious excellent
  • bodacious egregious

Q105. Передача за посиланням — це спосіб передати змінну у функцію та змінити її всередині функції, щоб ця зміна збереглася при використанні змінної поза функцією. Який код правильно використовує передачу за посиланням для зміни змінної для використання поза функцією?

  • 1 function append($initial){ return $newString = $initial . ' belong to us'; } 2 $initialString = 'All your base are’; 3 $initialString = append($initialString); 4 echo $initialString;

  • 1 function append(&$initial){ return $newString = $initial . ' belong to us'; } 2 $initialString = 'All your base are’; 3 append($initialString); 4 echo $initialString;

  • 1 function append(&$initial){ return $newString = $initial . ' belong to us'; } 2 $initialString = 'All your base are’; 3 $initialString = append($initialString); 4 echo $initialString;

  • 1 function append(&$initial){ $initial = $initial . ' belong to us'; } 2 $initialString = 'All your base are’; 3 append($initialString); 4 echo $initialString;

Q106. Який результат цього скрипту?

$believable = 'false';
$myth = 'Місяць зроблений із зеленого сиру';
$calc = 10**3+1;
if ($believable) {
    echo $myth;
}
else {
    echo $calc;
}
  • 10000
  • 31
  • 1001
  • Місяць зроблений із зеленого сиру

Пояснення: 'false' оцінюється як true, оскільки це рядок, тому умова if виконується.

Q107. Яка структура керування PHP використовується всередині циклу, щоб пропустити решту коду поточного циклу та повернутися на початок циклу для наступної ітерації?

  • return

  • else

  • break

  • continue