Tipos no PHP
Uma variável pode deve ser de um determinado tipo, mas em tipos PHP não são explicitamente definido, em vez do tipo variável é determinado pelo contexto em que a variável é utilizado. Isto significa, portanto, que as variáveis tornar-se um tipo quando eles são atribuídos um valor que tem um tipo.
Conversão automática de tipo
PHP converte automaticamente de um tipo para outro, o que pode causar resultados inesperados. Por exemplo a conversão de falsa para uma string pode ter resultados inesperados.
value = false ; $ Valor = false;
" The value is $ value " ; echo "O valor é de R $ valor";
returns : The value is / / Retorna: O valor é
Para resolver estes tipos de problemas de PHP tem de ser instruído sobre como lidar com a variável.
value = false ; $ Valor = false;
" The value is " . ( int ) $ value ; echo "O valor é" (int) $ value.;
returns : The value is 0 / / Retorna: O valor é 0
Como você pode ver a lançar uma variável que você precisa para usar o lugar do tipo que você deseja converter para na frente da variável entre parênteses. Isso, então, se aplica esse tipo para o elenco variável estar. Note que você deve ser cuidadoso sobre o que você joga como ele pode ter alguns resultados inesperados. Por exemplo, uma fração de fundição para um inteiro irá arredondar a fração para o inteiro mais próximo.
Conversão de strings com os números
Sabia que você pode adicionar um sentance e um número para formar outro número? Bem em PHP você pode! Unfortunatley isso pode levar a resultados inesperados para que você precisa ter cuidado como você lida com isso.
value = 1 + " 4.5 " ; $ Valor = 1 + "4.5";
is float with the value 5.5 / / É float com o valor 5,5
value = 1 + " tom " ; $ Valor = 1 + "tom";
is integer with the value 1 / / É um inteiro com o valor 1
value = 1 + " 2 Green Bottles " ; $ Valor = 1 + "2 garrafas verdes";
is integer with the value 3 / / É um inteiro com o valor 3
value = 1 + " Green Bottles 2 " ; $ Valor = 1 + "garrafas verdes 2";
is integer with the value 3 / / É um inteiro com o valor 3
Como você pode ver ao adicionar uma string para um número, se a primeira parte da string é um número este é então somados. Quaisquer outros números são ignorados. Se você adicionar uma string com um float nele para um inteiro, o resultado é um float. Mais uma vez a maneira correta de resolver este problema é detectar e ou converter a variável para o tipo correto.
Detectando o tipo de uma variável
Um tipo de variável pode ser identificada usando as funções abaixo simplesmente passar a variável para a função desejada e retornará true se é desse tipo. Esta é a técnica para uma programação defensiva .
var = " hello " ; $ Var = "Olá";
Returns true if a variable is a BOOLEAN / / Retorna true se uma variável é um boleano
$ var ) is_bool ($ var)
Returns true if a variable is a STRING / / Retorna true se uma variável é uma string
$ var ) is_string ($ var)
Returns true if a variable is a NUMERIC STRING / / Retorna true se uma variável é uma seqüência numérica
$ var ) is_numeric ($ var)
Returns true if a variable is an INTEGER / / Retorna true se uma variável é um número inteiro
$ var ) is_int ($ var)
Returns true if a variable is an ARRAY / / Retorna true se uma variável é um array
$ var ) is_array ($ var)
Returns true if a variable is an OBJECT / / Retorna true se uma variável é um objeto
$ var ) is_object ($ var)
Returns true if a variable is NULL / / Retorna true se uma variável é NULL
$ var ) is_null ($ var)
Returns true if a variable is a FLOAT / / Retorna true se uma variável é um float
$ var ) is_float ($ var)
Isto é importante porque uma vez um tipo variáveis particular, tem sido identificado pode então ser determinado o efeito de quaisquer operações realizadas no mesmo.
Nenhum comentário foi fornecida.
Escrito por Dominic Skinner
Última Atualização: 2011/10/25 16:00:38