Curso básico de PHP/Cambiamos el tipo de la variable usando settype

De WikiCabal
Saltar a: navegación, buscar

Cambiamos el tipo de la variable usando settype

<!DOCTYPE HTML>
<html lang="es-MX">
  <head>
    <title>
      Curso PHP - Cambiar el tipo de la variable con settype
    </title>
  </head>
  <body style="background-image:url('images/logoBG.jpg');">
    <?php
      /* settype()
       * (PHP 3, PHP 4, PHP 5)
       * settype -- Definir el tipo de una variable
       * Descripción
       * bool settype ( mixed &var, string tipo )
       * 
       * Definir el tipo de la variable var a tipo. 
       * Los posibles valores de tipo son: 
       * "boolean" (o, desde PHP 4.2.0, "bool") 
       * "integer" (o, desde PHP 4.2.0, "int") 
       * "float" (únicamente posible desde PHP 4.2.0, para versiones
       * anteriores use la variante obsoleta "double") 
       * "string" 
       * "array" 
       * "object" 
       * "null" (desde PHP 4.2.0) 
       * Devuelve TRUE si todo se llevó a cabo correctamente,
       * FALSE en caso de fallo. 
       */

      $MiVar = 3.14;
 
      print( "<p style='font:14pt helvetica;'>" );
      print(    gettype( $MiVar ) );   // Double
      print(   " es $MiVar<br />" );   // 3.14  

      settype( $MiVar, "string" );
      print(    gettype( $MiVar ) );   // String
      print(   " es $MiVar<br />" );   // 3.14  

      settype( $MiVar, "integer" );
      print(    gettype( $MiVar ) );   // Integer
      print(   " es $MiVar<br />" );   // 3

      settype( $MiVar, "double" );
      print(    gettype( $MiVar ) );   // Double
      print(   " es $MiVar<br />" );   // 3.0

      settype( $MiVar, "boolean" );
      print(    gettype( $MiVar ) );   // Boolean
      print(   " es $MiVar<br />" );         // 1

      settype( $MiVar, "double" );
      print(    gettype( $MiVar ) );   // Double
      print(   " es $MiVar" );   // 1.0

      print( "</p>" );
    ?>
  </body>
</html>

Explicación

El propósito de éste programa es conocer cómo podemos cambiar los tipos de las variables y cómo sus valores son afectados.

Las primeras líneas de código fuente son iguales que en el ejemplo: Hola Web, que van desde la línea 1 hasta la línea 7 donde agregamos un estilo a nuestra etiqueta <body> para poner un imagen como el fondo de nuestra página con el etiqueta style="background-image:url('images/logoBG.jpg');, por lo cual, si tienes alguna duda dirígete a éste.

En la línea 8 iniciamos una sección de php con la etiqueta <?php.

En la línea 9 se declara una variable con el nombre $MiVar y le asignamos el valor 3.14 que resulta en una variable de tipo double (doble).

Enseguida en la línea 11, como argumento de la directiva print se usa la etiqueta <p style='font:14pt helvetica;'>. Un estilo declarado de esta manera, como el estilo declarado en línea 7, se llama "inline style" que en éste caso se usa para indicar el inicio de un párrafo usando la fuente helvetica en 14 puntos. Vamos a ver en el futuro como poner los estilos en un archivo de "css" como se recomienda en la versión CSS 3.

En la línea 12, como argumento de la directiva print se usa la función gettype( $MiVar ), la cual tiene como argumento la variable $MiVar. Su función es determinar el tipo de la variable $MiVar que al momento es double (doble). Al final de la línea está el comentario // Double.

En la línea 13, como argumento de la directiva print está la cadena es $MiVar<br /> que junto con la línea 12 van a escribir "double es 3.14" (sin comillas) con un salto de línea nuevo al final, indicado por la etiqueta <br />. Nota que $MiVar se diferencia por su valor, que al momento es el número 3.14. Cuando usamos variables adentro de comillas dobles con print o echo obtenemos el valor de la variable.

En la línea 15, como argumento de la función settype, pasamos los argumentos $MiVar, "string" para convertir el tipo de la variable $MiVar a string (cadena de caracteres).

Enseguida en la línea 16, como argumento de la directiva print se usa la función gettype( $MiVar ), la cual tiene como argumento la variable $MiVar. Su función es determinar el tipo de la variable $MiVar que, al momento es string. Al final de la línea está el comentario // String.

En la línea 17, como argumento de la directiva print está la cadena es $MiVar<br /> que junto con la línea 16 van a escribir "string es 3.14" (sin comillas) con un salto de línea nuevo al final indicado por la etiqueta <br />.

¿Cual es la diferencia? ¡$MiVar, aquí en la sección de "string", parece igual que en la sección de "double"! ¡Actualmente son totalmente diferentes! $MiVar en la sección "double" es un número con partes decimales, y en la sección de "string" $MiVar es una colección de 3 numerales y un signo de puntuación con valores ASCII, que se usa para representar el concepto del número escrito en la sección de &quote;double&quote; Podemos realizar operaciones aritméticas con dobles y enteros. Para realizar operaciones aritméticas con strings, el interprete PHP va a promover automáticamente y de forma temporal, el string a double o entero para realizar la operación y después, va a regresar la variable a su tipo original.

En la línea 19, como argumento de la función settype, pasamos los argumentos $MiVar, "integer" para convertir el tipo de la variable $MiVar a integer (entero).

Enseguida en la línea 20, como argumento de la directiva print se usa la función gettype( $MiVar ), la cual tiene como argumento la variable $MiVar. Su función es determinar el tipo de la variable $MiVar que al momento es integer. Al final de la línea está el comentario // Integer.

En la línea 21, como argumento de la directiva print está la cadena es $MiVar<br /> que junto con la línea 20 van a escribir "integer es 3" (sin comillas) con un salto de línea nueva al final indicado por la etiqueta <br />. Nota que perdimos las partes decimales, ésto se llama "perdida de precisión" ¿Piensas que podemos recuperarlas si convertimos la variable $MiVar a double otra ves? Vamos a ver.

En la línea 23, como argumento de la función settype pasamos los argumentos $MiVar, "double" para convertir el tipo de la variable $MiVar a double.

Enseguida en la línea 24, como argumento de la directiva print se usa la función gettype( $MiVar ), la cual tiene como argumento la variable $MiVar. Su función es determinar el tipo de la variable $MiVar que al momento es double. Al final de la línea está el comentario // Double.

En la línea 25, como argumento de la directiva print está la cadena es $MiVar<br /> que junto con la línea 24 van a escribir "double es 3" (sin comillas) con un salto de línea nueva al final indicado por la etiqueta <br />.

Parece confuso cuando se dice "double es 3" con 3 sin partes decimales. Debe decir "double es 3.0" pero por alguna razón PHP no muestra partes decimales si son 0 (cero).

Cuando covertimos de integer a double no fue posible a recuperar las partes decimales que perdimos en la conversión inicial a integer.

En la línea 27, como argumento de la función settype, pasamos los argumentos $MiVar, "boolean" para convertir el tipo de la variable $MiVar a boolean (booleano).

Enseguida en la línea 28, como argumento de la directiva print se usa la función gettype( $MiVar ), la cual tiene como argumento la variable $MiVar. Su función es determinar el tipo de la variable $MiVar que al momento es boolean. Al final de la línea está el comentario // Boolean.

En la línea 29, como argumento de la directiva print está la cadena es $MiVar que junto con la línea 28 van a escribir "boolean es 1" (sin comillas) con un fin de párrafo indicado al final por la etiqueta </p> que se pasa como argumento de la directiva print en línea 30.

En PHP como en C, TRUE (verdad) es cualquier valor que NO es 0 o NULL que son FALSE (falso).

En la línea 31 se cierra el código de PHP con la etiqueta ?> y regresamos a HTML.

Las líneas 32 y 33 son etiquetas de HTML y forman la estructura básica de una página HTML que fueron explicadas en el programa básico ‘Hola Web’.

Ejecutarlo

Ejecutar el código para cambiar el tipo de la variable usando "settype"

Descargarlo

El archivo que vas a descargar tiene la extensión .phps que es una extensión especial que nos permite ver y descargar código PHP que normalmente no está disponible a descargar o ver.

Para usarlo, debes renombrar el archivo descargado y reemplazar la extensión .phps con la extensión .php que permite ver el resultado de los comandos de PHP de una manera nativa, a diferencia de la extensión .phps que no lo permite.

Descargar el código para cambiar el tipo de la variable usando "settype"