0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В этом уроке мы научимся работать с сигнатурой функции. Также мы узнаем, как функция принимает и возвращает значения. Мы разберем функции abs() и round().</p>
1
<p>В этом уроке мы научимся работать с сигнатурой функции. Также мы узнаем, как функция принимает и возвращает значения. Мы разберем функции abs() и round().</p>
2
<h2>Функция abs()</h2>
2
<h2>Функция abs()</h2>
3
<p>Функция abs(), которая возвращает абсолютное значение, принимает параметр - число. Если вызывать abs() без параметров, то PHP выдаст следующее:</p>
3
<p>Функция abs(), которая возвращает абсолютное значение, принимает параметр - число. Если вызывать abs() без параметров, то PHP выдаст следующее:</p>
4
<p>TypeError: abs() expects exactly 1 argument, 0 given</p>
4
<p>TypeError: abs() expects exactly 1 argument, 0 given</p>
5
<p>Так интерпретатор сообщает, что функция ожидает один параметр, а мы вызвали ее без параметров.</p>
5
<p>Так интерпретатор сообщает, что функция ожидает один параметр, а мы вызвали ее без параметров.</p>
6
<p>Параметрами abs() могут быть только числа. Если мы попробуем передать в нее строку, это приведет к следующей ошибке:</p>
6
<p>Параметрами abs() могут быть только числа. Если мы попробуем передать в нее строку, это приведет к следующей ошибке:</p>
7
<p>TypeError: abs(): Argument #1 ($num) must be of type int|float, string given</p>
7
<p>TypeError: abs(): Argument #1 ($num) must be of type int|float, string given</p>
8
<p>Результат вызова этой функции - тоже всегда число. Другая функция может иметь иное число параметров и другие типы параметров. Например, может существовать функция, которая принимает три параметра: число, строку и еще одно число.</p>
8
<p>Результат вызова этой функции - тоже всегда число. Другая функция может иметь иное число параметров и другие типы параметров. Например, может существовать функция, которая принимает три параметра: число, строку и еще одно число.</p>
9
<p>Откуда мы знаем, сколько и каких параметров нужно функции abs() и какого типа будет возврат? Мы посмотрели в<strong>сигнатуру</strong>этой функции. Сигнатура определяет входные параметры и их типы, а также выходной параметр и его тип.</p>
9
<p>Откуда мы знаем, сколько и каких параметров нужно функции abs() и какого типа будет возврат? Мы посмотрели в<strong>сигнатуру</strong>этой функции. Сигнатура определяет входные параметры и их типы, а также выходной параметр и его тип.</p>
10
<p>О функции abs() можно почитать в<a>официальной документации PHP</a>. В разделе "Описание" есть такой текст:</p>
10
<p>О функции abs() можно почитать в<a>официальной документации PHP</a>. В разделе "Описание" есть такой текст:</p>
11
<p>Это сигнатура функции и короткое пояснение на русском языке.</p>
11
<p>Это сигнатура функции и короткое пояснение на русском языке.</p>
12
<p>Информация расшифровывается так:</p>
12
<p>Информация расшифровывается так:</p>
13
<ul><li>Функция называется abs</li>
13
<ul><li>Функция называется abs</li>
14
<li>Функция принимает параметр: число (num)</li>
14
<li>Функция принимает параметр: число (num)</li>
15
<li>Функция возвращает число</li>
15
<li>Функция возвращает число</li>
16
<li>Функция возвращает абсолютное значение num</li>
16
<li>Функция возвращает абсолютное значение num</li>
17
</ul><p>Если параметров больше одного, то передавать их можно только в той последовательности, в которой они определены в сигнатуре. Любая функция возвращает всегда только одно значение. Это ограничение существует на уровне языка, и не может нарушаться.</p>
17
</ul><p>Если параметров больше одного, то передавать их можно только в той последовательности, в которой они определены в сигнатуре. Любая функция возвращает всегда только одно значение. Это ограничение существует на уровне языка, и не может нарушаться.</p>
18
<h2>Аргументы по умолчанию</h2>
18
<h2>Аргументы по умолчанию</h2>
19
<p>Рассмотрим функцию round(). Она округляет переданное число:</p>
19
<p>Рассмотрим функцию round(). Она округляет переданное число:</p>
20
<p>Мы передали в нее два аргумента: число и точность округления. 0 означает, что округление будет до целого значения.</p>
20
<p>Мы передали в нее два аргумента: число и точность округления. 0 означает, что округление будет до целого значения.</p>
21
<p>Чаще всего нужно округлять именно до целого числа, поэтому создатели функции round сделали второй аргумент необязательным и задали ему внутри функции значение по умолчанию 0. Значит, можно не указывать второй аргумент, а результат будет тем же:</p>
21
<p>Чаще всего нужно округлять именно до целого числа, поэтому создатели функции round сделали второй аргумент необязательным и задали ему внутри функции значение по умолчанию 0. Значит, можно не указывать второй аргумент, а результат будет тем же:</p>
22
<p>А если нужна другая точность, то можно передать аргумент:</p>
22
<p>А если нужна другая точность, то можно передать аргумент:</p>
23
<p>Если функция в PHP принимает необязательные аргументы, то они всегда стоят после обязательных. Их количество может быть любым. Это зависит от самой функции. Но такие аргументы всегда идут рядом и в конце списка аргументов.</p>
23
<p>Если функция в PHP принимает необязательные аргументы, то они всегда стоят после обязательных. Их количество может быть любым. Это зависит от самой функции. Но такие аргументы всегда идут рядом и в конце списка аргументов.</p>