Curso: "Programacin Orientada a Objetos PHP5" 2013
Tipos de Datos en PHP5
Mdulo 1 / parte 2
Todos los logos y marcas utilizados en este documento, estn registrados y pertenecen a sus respectivos dueos. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 1
Curso: "Programacin Orientada a Objetos PHP5" 2013
Objetivo El objetivo de esta prctica de laboratorio es aprender a usar los tipos de datos en php tales como el String (Textos o cadenas), Integer, Boolean (valor de verdad), Float(decimal precisin simple conocido como nmero de punto flotante, Double (decimal doble precisin), Long (Entero grande), Array (Matrices o arreglos) etc. Tambin veremos la funcin de php var_dump(): Esta funcin muestra informacin estructurada sobre una variable incluyendo su tipo y valor, es decir nos entrega informacin de depuracin (debug) de la variable, su estructura interna y valor. PHP soporta ocho tipos de datos: 1. Cuatro tipos escalares o primitivos: Boolean Integer Float(nmero de punto flotante, tambin conocido como double) String 2. Dos tipos de referencias o compuestos: Array Object 3. Dos tipos especiales Resource NULL
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 2
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 1: Ejemplo Booleanos: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 3
Curso: "Programacin Orientada a Objetos PHP5" 2013
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache, si estamos usando Xampp debera estar dentro de C:\xampp\htdocs\ProyectoEjemploBooleano. En el ejemplo usaremos el servidor de Zend por lo tanto nuestro Source Folder debe ser C:\Zend\Apache2\htdocs\ProyectoEjemploBooleano Clic Finish. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 4
Curso: "Programacin Orientada a Objetos PHP5" 2013
Observe que el proyecto ProyectoEjemploBooleano ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php el cual es desplegado en el editor de cdigo del IDE. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 5
Curso: "Programacin Orientada a Objetos PHP5" 2013
3. Modificar el contenido generado por el IDE en el index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 6
Curso: "Programacin Orientada a Objetos PHP5" 2013
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <pre> <?php $variableBoolean = true;
// Realizaremos depuraciones sobre diferentes expreciones // para saber si tienen un valor de verdad o cumplen con // cierta condicin true o false (SI o NO) // La expresin (bool) es para convertir el tipo de una variable // o exprecin hacia un tipo booleano con su valor o condicin de // verdad, es decir fuerza o convierte a un booleano var_dump($variableBoolean); // bool(true var_dump((bool) ""); // bool(false) var_dump((bool) "0"); // bool(false) var_dump((bool) 0); // bool(false) var_dump((bool) 1); // bool(true) var_dump((bool) -2); // bool(true) var_dump((bool) "foo"); // bool(true) var_dump((bool) 2.3e5); // bool(true) var_dump((bool) array(12)); // bool(true) , es una arreglo con un elemento var_dump((bool) array()); // bool(false) , es una arreglo vacio var_dump((bool) "false"); // bool(true)
// is_bool es una funcin para validar que la // variable o expresin es del tipo booleano var_dump(is_bool("true")); // bool(false) var_dump(is_bool((bool) "true")); // bool(true) var_dump(is_bool($variableBoolean)); // bool(true) var_dump(is_bool(false)); // bool(true) ?> </pre> </body> </html>
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoEjemploBooleano y seleccionar Run. Observe el resultado en el Navegador. (Figura de abajo) AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 7
Curso: "Programacin Orientada a Objetos PHP5" 2013
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 8
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 2: Ejemplo Enteros: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploEntero. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Si usamos XAMPP: C:\xampp\htdocs\ ProyectoEjemploEntero, si usamos Zend Server C:\Zend\Apache2\htdocs\ ProyectoEjemploEntero Clic Finish.
Observe que el proyecto ProyectoEjemploEntero ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 9
Curso: "Programacin Orientada a Objetos PHP5" 2013
3. Modificar el contenido generado por el IDE en el index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <pre> <?php $a = 1234; // nmero entero $b = -123; // un nmero entero negativo $c = 0123; // nmero octal (equivalente a 83 entero) $d = 0x1A; // nmero hexadecimal (equivalente a 26 entero) $e = (integer) "1234"; // nmero entero como producto de la conversin desde un string
$f = "25000"; // un string que contiene el numero 25000 var_dump($f);
settype($f, "int"); // convertimos usando funcion settype de string a entero, forma alternativa al cast usando los parntesis.
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoEjemploEntero y seleccionar Run. Observe el resultado en el navegador AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 10
Curso: "Programacin Orientada a Objetos PHP5" 2013
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 11
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 3: Ejemplo Nmeros Reales: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploDecimales. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto ProyectoEjemploDecimales ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual es desplegado en el editor de cdigo del IDE
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <pre> <?php $a = 1.234; $b = 1.2e3; $c = 7E-10; // Lo mismo que 0.0000000007 $d = "3.14159265"; // PI
var_dump($d); // es un string settype($d, "double"); // convertimos a decimal double
var_dump($a); var_dump($b); var_dump($c); var_dump($d); // convertido a decimal ;-)
// chequeamos los tipos de datos var_dump(is_double($d)); // bool(true) var_dump(is_string($d)); // bool(false)
$e = 0.0000000007; var_dump($e === $c); // bool(true) ?></pre> </body></html> AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 12
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoEjemploDecimales y seleccionar Run. Observe el resultado de la salida en el navegador.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 13
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 4: Ejemplo Cadenas Comillas Dobles doble comillas: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploCadenasDobleComillas. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Clic Finish. Observe que el proyecto ProyectoEjemploCadenasDobleComillas ha sido creado bajo la pestaa Projects de NetBeans IDE y adems ha generado automticamente index.php
3. Modificar el contenido generado por el IDE de index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que agregar reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $nombre = "John"; $apellido = 'Doe'; $edad = 40;
// Comillas dobles cancatena al vuelo, sin necesidad del punto y cierres de comillas // es decir variables y secuencias de escape son reemplazadas por su valor echo "El usuario: $nombre $apellido tiene $edad años";?> </body> </html>
4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoEjemploCadenasDobleComillas y seleccionar Run. Observe el resultado en el navegador: AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 14
Curso: "Programacin Orientada a Objetos PHP5" 2013
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 15
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 5: Ejemplo Cadenas Comillas Simples doble comillas: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploCadenasSimpleComillas. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache) Clic Finish. Observe que el proyecto ProyectoEjemploCadenasSimpleComillas ha sido creado bajo la pestaa Projects de NetBeans IDE
3. Modificar el contenido generado por el IDE en la clase index.php Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $nombre = "John"; $apellido = 'Doe'; $edad = 40;
// No trabaja de la misma forma que las comillas dobles // estas cadenas son mostradas tal cual son, NO reemplazan las variables por // sus valores echo 'El usuario: $nombre $apellido tiene $edad años'; echo "<br />";
// Tenemos que usar la concatenacin explcita con el punto (.) echo 'El usuario:' . $nombre . " " . $apellido . ' tiene ' . $edad . ' años'; ?> </body> </html> 4. Construir y ejecutar el programa Clic derecho del mouse sobre el proyecto ProyectoEjemploCadenasSimpleComillas y seleccionar Run. AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 16
Curso: "Programacin Orientada a Objetos PHP5" 2013
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 17
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 6: Ejemplo de Heredoc string: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Observar que aparece la ventana de dialogo New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploCadenasHeredoc. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache). Clic Finish.
3. Modificar el contenido generado por el IDE en index.php. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $nombre = "Andrs"; $apellido = 'Guzmn';
$libro = "Libro sobre POO en PHP"; $articulo = "sobre Cadenas en PHP";
// Una tercera forma de delimitar strings es mediante la sintaxis heredoc: <<<. // Despus de este operador, se deber ofrecer un identificador y despus una nueva lnea. // Similar a las comillas dobles, pero permite mltiples lneas, y no necesita proteger las comillas // El texto heredoc se comporta como un string entre comillas dobles, pero sin tener comillas dobles. // Esto significa que las comillas en Heredoc no necesitan ser escapadas, pero los caracteres escapados // indicados arriba se pueden seguir empleando. Las variables son expandidas, y se debe tener // el mismo cuidado dentro de un Heredoc cuando se quieren expresar variables complejas, // al igual que en los strings.
echo <<<EOT Mi nombre es "$nombre". Estoy escribiendo un $libro. Ahora, estoy escribiendo un poco {$articulo}. Esto debe mostrar una 'A' mayscula: \x41 EOT; ?> </body> </html>
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 18
Curso: "Programacin Orientada a Objetos PHP5" 2013
4. Construir y ejecutar el programa Clic derecho sobre el proyecto ProyectoEjemploCadenasHeredoc y Run.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 19
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 7: Ejemplo String con Clase y comillas dobles: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoEjemploCadenasDobleComillasAvanzado. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache). Clic Finish.
3. Modificar el contenido generado por el IDE. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $jugos = array("manzana", "naranja", "koolaid1" => "prpura");
echo "El tom algo de jugo de $jugos[0]." . "<br />"; echo "El tom algo de jugo de $jugos[1]." . "<br />"; echo "El tom algo de jugo {$jugos["koolaid1"]}." . "<br />";
public function getJohn() { return $this->_john; }
public function getJane() { return $this->_jane; }
public function getRobert() { return $this->_robert; }
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 20
Curso: "Programacin Orientada a Objetos PHP5" 2013
public function getSmith() { return $this->_smith; } }
$people = new People();
echo "{$people->getJohn()} tom algo de jugo de $jugos[0]." . "<br />"; echo "{$people->getJohn()} entonces dijo hola a {$people->getJane()}." . "<br />"; echo "La esposa de {$people->getJohn()}'s salud a {$people->getRobert()}." . "<br />"; echo "{$people->getRobert()} salud a los dos {$people->getSmith()}."; ?> </body> </html>
4. Construir y ejecutar el programa Clic derecho sobre el proyecto ProyectoEjemploCadenasDobleComillasAvanzado y Run.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 21
Curso: "Programacin Orientada a Objetos PHP5" 2013
Ejercicio 8: Ejemplo Manejo de strings: 1. Abrir Netbeans IDE 2. Crear un proyecto Netbeans: PHP Application Seleccionar File desde el men superior y seleccionar New Project. Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo Projects. Clic Next Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese ProyectoManejoDeString. Este es el nombre que se le dar al proyecto. Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del Web Root (carpeta htdocs de apache). Clic Finish.
3. Modificar el contenido generado por el IDE. Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo que hay que reemplazar se resaltan en negrita y color azul. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $nombre = "Miguel";
// Total de caracteres echo strlen($nombre); // 6 echo "<br />"; // Obtenemos el 2 caracter echo $nombre{1}; // i echo "<br />"; // Obtenemos el 5 caracter echo $nombre{4}; // e echo "<br />"; // Devuelve una parte del string definida por los parmetros start y length. echo substr($nombre, 1, 4); // "igue" echo "<br />"; // Convierte a minscula echo strtolower($nombre); // "miguel" echo "<br />"; // Convierte a mayscula echo strtoupper($nombre); // "MIGUEL" echo "<br />"; // Reemplaza el texto dentro de una porcin de un string echo str_replace("Mi", "Ku", $nombre); // Kuguel echo "<br />"; // Convertir una cadena a una matriz var_dump(str_split("tragaldabas")); echo "<br />"; AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 22
Curso: "Programacin Orientada a Objetos PHP5" 2013
// Divide una cadena en varias cadenas, es decir // Convertir una cadena a una matriz cortando en un texto o patrn var_dump(explode( "a", "tragaldabas")); // array( "tr", "g", "ld", "b", "s" ) ?> </body> </html>
4. Construir y ejecutar el programa Clic derecho sobre el proyecto ProyectoManejoDeString y Run. 6 i e igue miguel MIGUEL Kuguel array(11) { [0]=> string(1) "t" [1]=> string(1) "r" [2]=> string(1) "a" [3]=> string(1) "g" [4]=> string(1) "a" [5]=> string(1) "l" [6]=> string(1) "d" [7]=> string(1) "a" [8]=> string(1) "b" [9]=> string(1) "a" [10]=> string(1) "s" } array(5) { [0]=> string(2) "tr" [1]=> string(1) "g" [2]=> string(2) "ld" [3]=> string(1) "b" [4]=> string(1) "s" }
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 23
Curso: "Programacin Orientada a Objetos PHP5" 2013
Resumen
En este workshop, hemos expuesto y analizado los distintos tipos de datos, funciones de conversin y validacin y su manipulacin en PHP tales como las cadenas, los enteros, booleanos y decimales con diversos ejemplos y finalmente vimos un completo ejemplo de manejo de cadenas o strings.
Enva tus consultas a los foros! Aqu es cuando debes sacarte todas las dudas haciendo consultas en los foros correspondientes AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 24