Функция 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
Параметры можно передавать только в той последовательности, в которой они определены в сигнатуре. Любая функция возвращает всегда только одно значение. Это ограничение существует на уровне языка и не может быть нарушено.
Рассмотрим функцию 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 принимает необязательные аргументы, то они всегда стоят после обязательных. Их количество может быть любым (это зависит от самой функции), но они всегда идут рядом и в конце списка аргументов.
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт