Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Сигнатура функции Основы языка PHP

Функция pow(), возводящая число в какую-нибудь степень, принимает два параметра: какое число возводить и в какую степень возводить. Если вызывать pow() без параметров, то PHP выдаст следующее: PHP Warning: pow() expects exactly 2 parameters, 0 given in php shell code on line 1. Интерпретатор сообщает, что функция ожидает 2 параметра, а вы вызвали её без параметров.

Тот, кто создавал функцию pow(), сделал её функцией с двумя обязательными параметрами, поэтому её невозможно вызвать с другим количеством параметров. Более того, параметрами pow() могут быть только числа. Попытка передать в неё, например, строку приведет к следующей ошибке: PHP Warning: A non-numeric value encountered in php shell code on line 1. Результат вызова этой функции — тоже всегда число. Другая функция может иметь иное число параметров и другие типы параметров. Например, может существовать функция, которая принимает три параметра: число, строку и ещё одно число. Откуда мы знаем, сколько каких параметров нужно функции pow() и какого типа будет «возврат»? Мы заглянули в сигнатуру этой функции. Сигнатура определяет входные параметры и их типы, а также выходной параметр и его тип. Про функцию pow() можно почитать в официальной документации PHP. В разделе «описание» там есть такой текст:

pow ( number $base , number $exp ) : number

Возвращает base, возведенное в степень exp.

Это сигнатура функции и короткое пояснение на русском языке.

Информация расшифровывается так:

  • функция называется pow
  • функция принимает два параметра: число (base) и число (exp)
  • функция возвращает число (number)
  • функция возвращает base, возведенное в степень exp

Параметры можно передавать только в той последовательности, в которой они определены в сигнатуре. Любая функция возвращает всегда только одно значение. Это ограничение существует на уровне языка и не может быть нарушено.

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

Рассмотрим функцию 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

Если функция в PHP принимает необязательные аргументы, то они всегда стоят после обязательных. Их количество может быть любым (это зависит от самой функции), но они всегда идут рядом и в конце списка аргументов.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

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

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
18 августа 10 месяцев

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»