HTML Diff
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>