<
  • Главная
Статьи

Створення (визначення) функції

  1. Поради

Пора навчитися створювати власні функції! Код, в якому створюється функція, називається визначенням функції.

Ось шаблон визначення простої функції:

function імяФункціі () {тіло функції, тобто код}

Створимо нашу першу функцію. У неї буде одне завдання: виводити на екран текст Today is: December 5.

Потрібно назвати функцію так, щоб з назви була зрозуміла її завдання. Давайте дамо їй ім'я showDate:

<? Php function showDate () {$ text = 'Today is: December 5'; print_r ($ text); }

В нашій функції тільки два рядки коду, але їх може бути скільки завгодно. Функції можна вважати програмами всередині програм.

Щоб на 100% зрозуміти те, що відбувається, обов'язково зробіть наступне:

  1. зайдіть на https://repl.it/languages/php . Це онлайн-інтерпретатор PHP.
  2. У лівій частині введіть код прикладу вище.
  3. Запустіть програму натисканням на "RUN ▶".
  4. Програма виконається, але на екран нічого не відбудеться з бо в програмі є тільки визначення функції, але не запуск.
  5. Щоб запустити функцію, потрібно викликати її. Додайте до програми виклик:

<? Php showDate (); // => Today is: December 5

  1. Запустіть програму знову і переконайтеся, що в правій частині на екран вивівся текст.

Зберемо все разом. Ось повна програма, c визначенням функції і викликом:

<? Php function showDate () {$ text = 'Today is: December 5'; print_r ($ text); } ShowDate (); Today is: December 5

Ми могли б використовувати подібну функцію на сайті або в якій-небудь програмі, щоб виводити поточну дату на екран. Але в поточному вигляді функція не впорається із завданням, адже вона завжди виводить Today is: December 5.

Давайте покращимо функцію так, щоб вона приймала дату в якості аргументу і виводила її на екран.

Визначимо і викличемо нашу оновлену функцію:

<? Php function showDate ($ text) {print_r ( "Today is: {$ text}"); } ShowDate ( 'January 29'); Today is: January 29

Ось ілюстрація того, як аргумент з виклику потрапляє в тіло функції і використовується там:

Тепер зрозуміло, навіщо потрібні були круглі дужки після імені функції: в них можна вказати аргументи. Тепер наша функція приймає один аргумент - $ text.

Зауважте: ми не створюємо змінну $ text, але використовуємо її в тілі функції. PHP працює так: змінна сама створюється при виклику і заданої кількості (в нашому прикладі - 'January 29') записується в цю змінну.

Аргументи можна називати як завгодно, їх імена мають сенс виключно в тілі функції. Наприклад, якщо змінити ім'я аргументу так:

<? Php function showDate ($ bla) {print_r ( "Today is: {$ bla}"); } ShowDate ( 'January 29');

то поведінка функції не зміниться. Але таке безглузде ім'я для аргументу - погана практика.

Аргументів може бути кілька. В такому випадку у визначенні функції ми робимо те ж саме, що у виклику: просто вказуємо аргументи через кому.

Повний приклад визначення функції з кількома аргументами і її виклику:

<? Php function showDate ($ month, $ day) {print_r ( "Today is: {$ month} {$ day}"); } ShowDate ( 'January', '29'); Today is: January 29

Головне - пам'ятати про порядок: в якому порядку аргументи стоять при визначенні функції, в такому ж порядку вони повинні передаватися при виклику.

Реалізуйте функцію printJaimesLine, яка приймає один аргумент - рядок, і виводить репліку на екран у форматі JAIME: переданная_строка.

Як назвати змінну, яка буде аргументом - вирішуйте самі.

Наша система містить код, прихований від вас. У цій вправі прихований виклик функції printJaimesLine. Так ми перевіряємо ваше рішення.

Вам не потрібно самостійно викликати функцію, тільки визначити її. Але для наочності - ось як наша система викликає її:

<? Php printJaimesLine ( "Farewell, my friend ..."); JAIME: Farewell, my friend ...

Поради

Знайшли помилку? Є що додати? Пулреквести вітаються https://github.com/hexlet-basics

Є що додати?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью