PHP скалярный тип и объявление типа возвращаемого значения
Декларация Скалярное типа
По умолчанию, все PHP файлы находятся в режиме слабой проверки типа.
PHP 7 увеличивает характерный скалярный тип объявлен объявление типа скалярная имеет два режима работы:
- Принудительный режим (по умолчанию)
- Строгий режим
Скалярное Синтаксис объявление типа:
declare(strict_types=1);
Strict_types код, указав значение (1 или 0), 1 строгий режим проверки типов, роль вызова функции и возвращаемое значение; 0 представляет собой режим слабой проверки типа.
Параметр типа могут быть использованы, являются:
INT
поплавок
BOOL
строка
интерфейсы
массив
подлежащий выкупу
Примеры режима правоприменения
примеров
Режим // Исполнение
Функция сумма (INT ... $ Интс)
{
вернуть array_sum ($ Интс);
}
печать (сумма (2, '3 ', 4,1));
?>
Выход выше выполнение программы:
9
Примеры кратких параметров 4 4.1 преобразуется в целое, а затем суммируются.
Строгие Примеры режимов
примеров
// Strict Mode
объявить (strict_types = 1);
Функция сумма (INT ... $ Интс)
{
вернуть array_sum ($ Интс);
}
печать (сумма (2, '3 ', 4,1));
?>
Вышеприведенная программа из-за строгого режима, так что если вы типа появляется нездоровым целочисленный параметр, отведенную, выходное исполнение:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
Объявление типа Return
PHP 7 добавлена поддержка декларации возвращаемого типа, это указывает на тип возвращаемого декларации типа возвращаемого значения функции.
Можно объявить типы возвращаемых значений:
INT
поплавок
BOOL
строка
интерфейсы
массив
подлежащий выкупу
Примеры описания типа возврата
Пример, попросили вернуться в целое число:
примеров
объявить (strict_types = 1);
Функция returnIntValue (INT $ значение): INT
{
вернуть $ значение;
}
печать (returnIntValue (5));
?>
Выход выше выполнение программы:
5
Примеры декларации об ошибке возвращаемого типа примеров
<? PHP
объявить (strict_types = 1);
Функция returnIntValue (INT $ значение): INT
{
возврат $ значение + 1,0;
}
печать (returnIntValue (5));
?>
примеров
объявить (strict_types = 1);
Функция returnIntValue (INT $ значение): INT
{
возврат $ значение + 1,0;
}
печать (returnIntValue (5));
?>
Вышеприведенная программа из-за строгого режима, возвращаемое значение должно быть INT, но результаты с плавающей точкой, будет дано, выходное исполнение:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...