Malabarismo con tipos de variables (malabares) PHP no requiere (o no admite) declarar una variable para especificar su tipo de variable. El tipo de una variable está determinado por el contexto en el que se usa la variable, es decir, si se le da una variable; Si a var se le asigna un valor de cadena, var se convierte en una variable de cadena. Si asigna un número entero a var, se convierte en una variable entera. Un ejemplo de PHP que convierte automáticamente tipos de variables es el operador de suma '+'. Si algún operando es doble, entonces todos los operandos se evalúan como dobles y el resultado también es doble. De lo contrario, los operandos se considerarán números enteros y el resultado será un número entero. Tenga en cuenta que esto no afecta el tipo de variable de cada operando en sí, el único cambio es cómo se procesan los operandos durante el cálculo. |
|
Si cree que las dos últimas expresiones del ejemplo anterior parecen un poco extrañas, consulte la sección "Conversión de cadenas". Si desea forzar la evaluación de una variable como de tipo fijo, consulte la sección "Conversión". Si desea cambiar el tipo de una variable, consulte la descripción de la función "settype()". Determinar el tipo de una variable Debido a que PHP determina el tipo de variables por sí mismo y generalmente las convierte según sea necesario, el tipo de una variable en particular no siempre es obvio. PHP incluye funciones para averiguar el tipo de esta variable. Estas funciones son gettype(), is_long(), is_double(), is_string(), is_array() e is_object(). Conversión de tipos La conversión de tipos en PHP es muy parecida a la de C: necesitará que el tipo esté escrito en. paréntesis antes de la variable que se va a coaccionar. |
|
Se permiten los siguientes métodos de coerción: (int), (entero) - coaccionar a entero (real), (doble), (flotante) - coaccionar a doble precisión (cadena) - coaccionar a cadena (matriz) - coaccionar a matriz (objeto ) – Obligado a un objeto. Tenga en cuenta que se permiten tabulaciones y espacios entre paréntesis, por lo que las siguientes declaraciones son equivalentes: $ foo = (int) $bar; $foo = (int) $bar; un valor numérico, su resultado y tipo se determinan como se describe a continuación. Si esta cadena contiene los caracteres '.', 'e' o 'E', se trata como una variable de tipo doble; de lo contrario, se trata como un número entero. El valor de esta cadena está determinado por el prefijo. Si la cadena comienza con datos numéricos válidos, entonces los datos numéricos son el valor en el que se evalúa la cadena. De lo contrario, el valor es cero. Los datos numéricos válidos siguen la siguiente notación, seguida de uno o más dígitos (que pueden incluir un punto decimal), seguido de un exponente opcional. El exponente está formado por uno o más dígitos seguidos de 'e' o 'E'. |
|
Para obtener más información, consulte la sección del manual de Unix sobre strtod(3). |