Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    Type juggling

    Type juggling

    PHP no requiere (o soporta) la declaración explícita del tipo en la declaración de variables; el tipo de una variable se determina por el contexto en el que se usa esa variable_ Esto quiere decir que si se asigna un valor de cadena a la variable var, var se convierte en una cadena_ Si después se asigna un valor entero a la variable var, se convierte en una variable entera_

    Un ejemplo de conversión de tipo automática en PHP3 es el operador suma '+'_ Si cualquiera de los operandos es un doble, entonces todos los operandos se evalúan como dobles, y el resultado será un doble_ En caso contrario, los operandos se interpretarán como enteros, y el resultado será también un entero_ Nótese que esto NO cambia los tipos de los operandos propiamente dichos; el único cambio está en cómo se evalúan los operandos_

    $foo = "0";  // $foo es una cadena (ASCII 48)
    $foo++;      // $foo es la cadena "1" (ASCII 49)
    $foo += 1;   // $foo ahora es un entero (2)
    $foo = $foo + 1_3;  // $foo ahora es un doble (3_3)
    $foo = 5 + "10 Cerditos Pequeñitos"; // $foo es entero (15)
    $foo = 5 + "10 Cerditos";     // $foo es entero (15)

    Si los últimos dos ejemplos anteriores parecen confusos, vea Conversión de cadenas_

    Si se desea obligar a que una variable sea evaluada con un tipo concreto, mire la sección Forzado de tipos_ Si se desea cambiar el tipo de una variable, vea la función settype()_

    Si quisiese probar cualquiera de los ejemplos de esta sección, puede cortar y pegar los ejemplos e insertar la siguiente línea para ver por sí mismo lo que va ocurriendo:

    echo "\$foo==$foo; el tipo es " _ gettype( $foo ) _ "<br>\n";

    Nota: La posibilidad de una conversión automática a array no está definida actualmente_

    $a = 1;       // $a es un entero
    $a[0] = "f";  // $a se convierte en un array, en el que $a[0] vale "f"

    Aunque el ejemplo anterior puede parecer que claramente debería resultar en que $a se convierta en un array, el primer elemento del cual es 'f', consideremos esto:

    $a = "1";     // $a es una cadena
    $a[0] = "f";  // ¿Qué pasa con los índices de las cadenas? ¿Qué ocurre?

    Dado que PHP soporta indexación en las cadenas vía offsets usando la misma sintaxis que la indexación de arrays, el ejemplo anterior nos conduce a un problema: ¿debería convertirse $a en un array cuyo primer elemento sea "f", o debería convertirse "f" en el primer carácter de la cadena $a?

    Por esta razón, tanto en PHP 3_0_12 como en PHP 4_0b3_RC4, el resultado de esta conversión automática se considera que no está definido_ Los parches se están discutiendo, de todas formas_

    Forzado de tipos

    El forzado de tipos en PHP funciona como en C: el nombre del tipo deseado se escribe entre paréntesis antes de la variable a la que se pretende forzar_

    $foo = 10;   // $foo es un entero
    $bar = (double) $foo;   // $bar es un doble

    Los forzados de tipo permitidos son:

    • (int), (integer) _ fuerza a entero (integer)

    • (real), (double), (float) _ fuerza a doble (double)

    • (string) _ fuerza a cadena (string)

    • (array) _ fuerza a array (array)

    • (object) _ fuerza a objeto (object)

    Nótese que las tabulaciones y espacios se permiten dentro de los paréntesis, así que los siguientes ejemplos son funcionalmente equivalentes:

    $foo = (int) $bar;
    $foo = ( int ) $bar;

    Puede no ser obvio que ocurrirá cuando se fuerce entre ciertos tipos_ Por ejemplo, lo siguiente debería ser tenido en cuenta_

    Cuando se fuerza el cambio de un escalar o una variable de cadena a un array, la variable se convertirá en el primer elemento del array:

    $var = 'ciao';
    $arr = (array) $var;
    echo $arr[0];  // produce la salida 'ciao'

    Cuando se fuerza el tipo de una variable escalar o de una cadena a un objeto, la variable se convertirá en un atributo del objeto; el nombre del atributo será 'scalar':

    $var = 'ciao';
    $obj = (object) $var;
    echo $obj_>scalar;  // produce la salida 'ciao'

     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html