Malabarismo com tipos de variáveis (malabarismo) O PHP não exige (ou não suporta) a declaração de uma variável para especificar seu tipo de variável. O tipo de uma variável é determinado pelo contexto em que a variável é usada, ou seja, se você fornecer uma variável; Se var receber um valor de string, var se tornará uma variável de string. Se você atribuir um número inteiro a var, ele se tornará uma variável inteira. Um exemplo de PHP convertendo automaticamente tipos de variáveis é o operador de adição '+'. Se qualquer operando for duplo, todos os operandos serão avaliados como duplos e o resultado também será duplo. Caso contrário, os operandos serão considerados inteiros e o resultado será um inteiro. Observe que isso não afeta o tipo de variável de cada operando em si, a única alteração é a forma como os operandos são processados durante o cálculo. |
|
Se você acha que as duas últimas expressões do exemplo acima parecem um pouco estranhas, consulte a seção "Conversão de String". Se você deseja forçar uma variável a ser avaliada como um tipo fixo, consulte a seção "Conversão". Se desejar alterar o tipo de uma variável, consulte a descrição da função "settype()". Determinando o tipo de uma variável Como o próprio PHP determina o tipo de variáveis e geralmente as lança conforme necessário, o tipo de uma variável específica nem sempre é óbvio. PHP inclui funções para descobrir o tipo desta variável. Essas funções são gettype(), is_long(), is_double(), is_string(), is_array() e is_object(). Conversão de tipo A conversão de tipo em PHP é praticamente a mesma que em C: você precisará do tipo escrito em. parênteses antes da variável a ser coagida. |
|
Os seguintes métodos de coerção são permitidos: (int), (integer) - coagir para inteiro (real), (double), (float) - coagir para precisão dupla (string) - coagir para string (array) - coagir para Array (objeto ) – Forçado a um objeto. Observe que tabulações e espaços são permitidos entre parênteses, portanto as seguintes instruções são equivalentes: $ foo = (int) $bar; $foo = (int) $bar; um valor numérico, seu resultado e tipo são determinados conforme descrito abaixo. Se esta string contiver os caracteres '.', 'e' ou 'E', ela será tratada como uma variável de tipo duplo, caso contrário, será tratada como um número inteiro. O valor desta string é determinado pelo prefixo. Se a sequência começar com quaisquer dados numéricos válidos, os dados numéricos serão o valor no qual a sequência será avaliada. Caso contrário, o valor é zero. Os dados numéricos válidos seguem a seguinte notação, seguidos por um ou mais dígitos (que podem incluir um ponto decimal), seguidos por um expoente opcional. O expoente é formado por um ou mais dígitos seguidos de 'e' ou 'E'. |
|
Para obter mais informações, consulte a seção do manual Unix sobre strtod(3). |