PHP tipo escalar e tipo valor de retorno declaração
declaração de tipo escalar
Por padrão, todos os arquivos PHP estão em um modo de verificação de tipo fraco.
PHP 7 aumenta o tipo escalar declarou declaração tipo escalar característica tem dois modos:
- modo forçado (padrão)
- Modo estrito
Scalar sintaxe tipo de declaração:
declare(strict_types=1);
Código Strict_types especificando um valor (1 ou 0), 1 estrita modo de verificação de tipo, o papel da chamada de função e retornar declarações; 0 representa o modo de verificação de tipo fraco.
Tipo parâmetro pode ser utilizado são os seguintes:
int
flutuador
bool
corda
Interfaces
ordem
exigível
Exemplos de modo de imposição
Exemplos
// Modo Enforcement
soma de função (int ... $ ints)
{
voltar array_sum ($ ints);
}
print (sum (2 ', 3 ', 4,1));
?>
A saída de execução de programa acima é:
9
Exemplos de parâmetros de resumo 4 4.1 convertido para um inteiro e, em seguida, somados.
Exemplos modo estrito
Exemplos
// Modo estrito
declarar (strict_types = 1);
soma de função (int ... $ ints)
{
voltar array_sum ($ ints);
}
print (sum (2 ', 3 ', 4,1));
?>
O programa acima por causa do modo estrito, por isso, se você digita aparece parâmetro inteiro indisposição que está sendo dado, a saída de execução é:
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
declaração de tipo de retorno
PHP 7 adiciona suporte para a declaração do tipo de retorno, indica o tipo de retorno da função de retorno a declaração tipo de valor.
Pode declarar os tipos de retorno são:
int
flutuador
bool
corda
Interfaces
ordem
exigível
exemplos de declaração de tipo de retorno
Exemplo, pediu para voltar para um inteiro:
Exemplos
declarar (strict_types = 1);
returnIntValue função (int $ value): int
{
retornar $ value;
}
print (returnIntValue (5));
?>
A saída de execução de programa acima é:
5
Exemplos de declaração de erro tipo de retorno Exemplos
<? Php
declarar (strict_types = 1);
returnIntValue função (int $ value): int
{
retorno $ value + 1,0;
}
print (returnIntValue (5));
?>
Exemplos
declarar (strict_types = 1);
returnIntValue função (int $ value): int
{
retorno $ value + 1,0;
}
print (returnIntValue (5));
?>
O programa acima devido ao modo estrito, o valor de retorno deve ser um inteiro, mas os resultados são float, ela será dada, a saída de execução é:
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...