/
Программирование
/
Курс PHP
/

Параметры по умолчанию

PHP: Параметры по умолчанию

Некоторые функции в PHP имеют необязательные параметры. Это значит, что для них заранее задано значение по умолчанию, и при вызове можно этот параметр не указывать.

Автосервис

Рассмотрим встроенную функцию round(), которая округляет число:

<?php

$result = round(10.25, 0); // 10

Мы передали в нее два значения:

  • Число, которое нужно округлить.
  • Точность округления, 0 означает, что округление будет до целого числа.

Так как чаще всего нужно именно округление до целого, создатели функции round() сделали второй параметр необязательным и задали ему значение по умолчанию 0. Поэтому результат будет тем же, даже если второй параметр не указывать:

<?php

$result = round(10.25); // 10

Если нужна другая точность, то ее можно указать явно:

<?php

// округление до одного знака после запятой
$result = round(10.25, 1); // 10.3
round(10.25, 1)  →  аргументы: 10.25, 1    →  10.3
round(10.25)     →  аргументы: 10.25, (0)  →  10
                                       └── значение по умолчанию

Количество необязательных параметров зависит от конкретной функции, но обязательные всегда идут перед необязательными.

Сигнатура функции

У каждой функции есть сигнатура, содержащая описание ее имени, параметров и порядка их использования. Сигнатура помогает понять, какие данные функция ожидает и что будет происходить, если параметры не указаны.

Посмотрим на документацию для функции round(). Если ее немного упростить, сигнатура выглядит так:

round(int|float $num, int $precision = 0): float

Функция называется round. Параметр $num обязателен — он принимает число для округления (целое или дробное). Параметр $precision имеет значение по умолчанию 0, то есть необязателен; если его не указать, округление произойдет до целого числа. После двоеточия указан тип результата — функция возвращает дробное число (float).

В полной сигнатуре из документации есть еще один необязательный параметр, который управляет режимом округления. Он нужен редко, поэтому мы его пока не рассматриваем.

Как работать с новыми функциями

Когда вы встречаете новую функцию, можно использовать простой паттерн:

  1. Открыть документацию и найти сигнатуру функции.
  2. Посмотреть примеры использования.
  3. Перейти в интерактивную оболочку PHP (она запускается командой php -a) и попробовать вызвать функцию с разными аргументами.

Такой подход помогает быстро разобраться, как именно работает функция, какие у нее обязательные и необязательные параметры и какие результаты она возвращает.

Задание

В коде заданы данные об автомобильной поездке: расстояние, расход топлива, цена топлива и количество пассажиров.

Вычислите и выведите на экран три значения:

  1. Объем топлива в литрах, необходимый для поездки. Округлите до одного знака после запятой.
  2. Общую стоимость поездки в рублях. Округлите до двух знаков после запятой.
  3. Стоимость поездки для каждого пассажира в рублях. Округлите до целого числа, вызвав round() без второго аргумента.

Каждое значение выводится на отдельной строке.

distance ──────┐
               ├──→ fuel ──────┐
fuelConsumption ───┘           ├──→ tripCost ──────┐
                               │                   ├──→ perPerson
fuelPrice ─────────────────────┘                   │
                                                   │
passengers ────────────────────────────────────────┘

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются