Sei sulla pagina 1di 4

y

y y

TIPOS DE DATOS EN PHP PHP soporta los siguientes tipos: array nmeros en punto flotante entero objeto cadena El tipo de una variable normalmente no lo indica el programador; en su lugar, lo decide PHP en tiempo de ejecucin dependiendo del contexto en el que se utilice esa variable. Si se quisiese obligar a que una variable se convierta a un tipo concreto, se podra forzar la variable o usar la funcin settype() para ello. Ntese que una variable se puede comportar de formas diferentes en ciertas situaciones, dependiendo de qu tipo sea en ese momento. Enteros Los enteros se puede especificar usando una de las siguientes sintaxis: $a = 1234; # nmero decimal $a = -123; # un nmero negativo $a = 0123; # nmero octal (equivalente al 83 decimal) $a = 0x12; # nmero hexadecimal (equivalente al 18 decimal) Nmeros en punto flotante Los nmeros en punto flotante ("double") se pueden especificar utilizando cualquiera de las siguientes sintaxis: $a = 1.234; $a = 1.2e3; Cadenas Las cadenas de caracteres se pueden especificar usando uno de dos tipos de delimitadores. Si la cadena est encerrada entre dobles comillas ("), las variables que estn dentro de la cadena sern expandidas (sujetas a ciertas limitaciones de interpretacin). Como en C y en Perl, el carcter de barra invertida ("\") se puede usar para especificar caracteres especiales: \n Nueva lnea \r Retorno de carro \t Tabulacin horizontal \\ Barra invertida La segunda forma de delimitar una cadena de caracteres usa el carcter de comilla simple (""). Cuando una cadena va encerrada entre comillas simples, los nicos caracteres de escape que sern comprendidos son "\\"y "\". Esto es por convenio, as que se pueden tener comillas simples y barras invertidas en una cadena entre comillas simples. Las variables no se expandirn dentro de una cadena entre comillas simples. Otra forma de delimitar cadenas es usando la sintaxis de documento incrustado (">"). Se debe proporcionar un identificador despus de >, despus la cadena, y despus el mismo identificador para cerrar el entrecomillado. Ejemplo de entrecomillado de cadenas con sintaxis de documento incrustado $str = >EOD Ejemplo de cadena Expandiendo mltiples lneas usando sintaxis de documento incrustado. EOD; Las cadenas se pueden concatenar usando el operador . (punto). Ntese que el operador + (suma) no sirve para esto. ejemplos de cadenas <?php /* Asignando una cadena. */ $str = "Esto es una cadena"; /* Aadiendo a la cadena. */ $str = $str . " con algo ms de texto"; /* Otra forma de aadir, incluye un carcter de nueva lnea protegido. */ $str .= " Y un carcter de nueva lnea al final.\n"; /* Esta cadena terminar siendo <p>Nmero: 9</p> */ $num = 9; $str = "<p>Nmero: $num</p>"; /* Esta ser <p>Nmero: $num</p> */ $num = 9; $str = <p>Nmero: $num</p>; /* Obtener el primer carcter de una cadena */ $str = Esto es una prueba.; $first = $str[0]; /* Obtener el ltimo carcter de una cadena. */ $str = Esto es an una prueba.; $last = $str[strlen($str)-1]; ?>

VARIABLES Todas las variables en PHP empiezan con el caracter dlar "$". Declaracin Las variables se declaran simplemente inicializndolas: $strCadena = "Hola Mundo"; echo($strCadena); Si intentamos acceder a una variable no inicializada, PHP se quejar. Para evitar ello, existe la funcin error_reporting(mask). Tipos Los tipos bsicos de PHP son Integer, Double, String, Array y Object. Las variables booleanas no existen como tales, sino que cualquier valor numrico distinto de 0 o cualquier cadena no vaca se considera TRUE Las variables PHP no tienen un tipo fijo, dependiendo de la ltima asignacin realizada, tienen uno u otro tipo. La funcin gettype(nombrevar) permite obtener el tipo de esa variable en forma de cadena: $variable = "Una cadena"; echo(gettype($variable)); $variable = 0; echo(gettype($variable)); El ejemplo anterior escribe "String" e "Integer" por pantalla. Las funciones Is_Double($varname), Is_Array($varname), Is_String($varname) y Is_Object($varname) tambin nos permiten saber el tipo de una variable. Cadenas ESTRUCTURAS DE CONTROL A partir de ahora vamos a dotar de mas "dinamismo" a nuestros scripts ya que a partir de diversas estructuras indicaremos que accin debe realizar en cada caso, adems tambin nos dar la posibilidad de realizar una misma accin multitud de veces con tan solo una lnea de cdigo. Estructura IF IF es una estructura de control utilizada para tomar decisiones segn se cumpla una condicin (o varias) o no. Su estructura bsica es la siguiente: if(condicin/es){ accin a realizar; } else{ accin a realizar en caso de que no se cumpla; } Veamos un ejemplo bsico para entenderlo mejor: if($edad>=18){ Comprar cerveza; } else{ echo "No puedes comprar cerveza porque no tienes 18 aos"; } e incluso podemos realizar condicionales mas completas como el siguiente caso: if(($edad>=18)&&($dinero>0)){ Puedes comprar cerveza porque tienes 18 y tu dinero es mayor que 0; } else{ echo "O no tienes pelas o no tienes los 18" ; } Estructura SWITCH Toma distintas decisiones en funcin de distintos estados de la variable.Su sintaxis es la siguiente: switch(expresin){ case valor1: sentencia a ejecutar cuando la expresin tiene como valor valor1 break case valor2: sentencia a ejecutar cuando la expresin tiene como valor valor2 break case valor3: sentencia a ejecutar cuando la expresin tiene como valor valor3 break default: sentencia que se ejecutar por defecto cuando no se cumpla ninguna de las condiciones anteriores Bucle FOR El bucle for se usa para repetir una misma operacin un nmero determinado de veces. Su sintaxis es la siguiente: for(inicializacin;condicin;actualizacin){ sentencia a ejecutar mientras se cumpla la condicin } El bucle for esta compuesto de 3 partes: - Inicializacin: Se ejecuta tan solo al iniciar por primera vez el bucle.En esta parte se suele colocar la variable que contara el numero de veces que se repite el bucle. - Condicin: Es la condicin que se evaluara cada vez que se inicie el bucle.Esta condicin es la que determina la duracin del bucle. - Actualizacin: Sirve para indicar los cambios que queremos ejecutar en las variables cada vez que se ejecuta el bucle. Un ejemplo de su uso seria el siguiente:

for($i=1;i<=10;i++){ echo "El nmero actual es".$i; } De esta forma escribira todos los nmeros contenidos entre 0 y 10. Bucles WHILE y DO WHILE Bucle WHILE Este bucle se usa cuando queremos repetir la ejecucin de unas sentencias un nmero indefinido de veces. Su sintaxis es la siguiente: while(condicin){ sentencia a ejecutar } Para entender mejor el uso de while nos serviremos del siguiente ejemplo: while($color != "rojo"){ color= dame un color; } Este es un ejemplo de lo que se puede hacer con while. En este caso siempre y cuando el color no sea rojo nos dir que introduzcamos un color. Bucle DO...WHILE Este bucle se usa cuando no sabemos el nmero de veces que va a ejecutarse un bucle pero lo que si tenemos claro es que por lo menos una vez si que se ejecutara la accion.Su sintaxis es la siguiente: do{ sentencia del bucle }while(condicion) BREAK y CONTINUE BREAK Se usa para detener el bucle y dejar de interpretar el cdigo que sigue despus de el break CONTINUE Sirve para volver al principio del bucle desde cualquier parte del bucle. SESIONES Las sesiones, en aplicaciones web realizadas con PHP y en el desarrollo de pginas web en general, nos sirven para almacenar informacin que se memorizar durante toda la visita de un usuario a una pgina web. Dicho de otra forma, un usuario puede ver varias pginas durante su paso por un sitio web y con sesiones podemos almacenar variables que podremos acceder en cualquiera de esas pginas. Digamos que las sesiones son una manera de guardar informacin, especfica para cada usuario, durante toda su visita. Cada usuario que entra en un sitio abre una sesin, que es independiente de la sesin de otros usuarios. En la sesin de un usuario podemos almacenar todo tipo de datos, como su nombre, productos de un hipottico carrito de la compra, preferencias de visualizacin o trabajo, pginas por las que ha pasado, etc. Todas estas informaciones se guardan en lo que denominamos variables de sesin. PHP dispone de un mtodo bastante cmodo de guardar datos en variables de sesin, y de un juego de funciones para el trabajo con sesiones y variables de sesin. Lo veremos en este artculo. Para cada usuario PHP internamente genera un identificador de sesin nico, que sirve para saber las variables de sesin que pertenecen a cada usuario. Para conservar el identificador de sesin durante toda la visita de un usuario a una pgina PHP almacena la variable de sesin en una cookie, o bien la propaga a travs de la URL. Esto se puede configurar desde el archivo php.ini. Trabajo con sesiones en PHP Cuando queremos utilizar variables de sesin en una pgina tenemos que iniciar la sesin con la siguiente funcin: session_start () Inicia una sesin para el usuario o contina la sesin que pudiera tener abierta en otras pginas. Al hacer session_start() PHP internamente recibe el identificador de sesin almacenado en la cookie o el que se enve a travs de la URL. Si no existe tal identificador se sesin, simplemente lo crea. Nota: Si en el php.ini se ha definido la variable session.auto_start = 1 se inicializa automticamente la sesin en cada pgina que visita un usuario, sin que se tenga que hacer el session_start() Una vez inicializada la sesin con session_start() podemos a partir de ahora utilizar variables de sesin, es decir, almacenar datos para ese usuario, que se conserven durante toda su visita o recuperar datos almacenados en pginas que haya podido visitar. La sesin se tiene que inicializar antes de escribir cualquier texto en la pgina. Esto es importante y de no hacerlo as corremos el riesgo de recibir un error, porque al iniciar la sesin se deben leer las cookies del usuario, algo que no se puede hacer si ya se han enviado las cabeceras del HTTP. Nota: si se intenta abrir una sesin despus de haber enviado texto de la pgina al cliente se obtendr el siguiente mensaje: Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at ) Una vez iniciada la sesin podemos utilizar variables de sesin a travs de $_SESSION, que es un array asociativo, donde se accede a cada variable a partir de su nombre, de este modo: $_SESSION["nombre_de_variable"] Nota: $_SESSION es una variable global que existe a partir de PHP 4.1.0. Lo normal es que podamos acceder a esa variable normalmente, pero si nuestra versin de PHP no est actualizada podemos intentarlo con $HTTP_SESSION_VARS, que es tambin un array asociativo, aunque no es de mbito global. Si $HTTP_SESSION_VARS tampoco funciona tendremos que registrar cada variable por separado con la funcin session_register(), envindo por parmetro los nombres de las variables de sesin que desea utilizar desde PHP. Existen otras dos configuraciones del php.ini que afectan al trabajo con variables de sesin, que son track_vars y register_globals. Por defecto track_vars est activado y register_globals est desactivado. Este es el caso normal y el que suponemos tendr el servidor donde programes, pero si esas variables cambian podra cambiar alguna cosita, como que las variables se tengan que registrar explcitamente con session_register(). Ejemplo de cdigo para definir una variable de sesin: <? session_start();

?> <html> <head> <title>Generar variable de sesin</title> </head> <body> <? $_SESSION["mivariabledesesion"] = "Hola este es el valor de la variable de sesin"; ?> </body> </html> Como se puede ver, es importante inicializar la sesin antes de hacer otra cosa en la pgina. Luego podremos definir variables de sesin en culquier lugar del cdigo PHP de la pgina. Para leer una variable de sesin se hace a travs del mismo array asociativo $_SESSION. Es tan sencillo como haramos para utilizar cualquier otra variable, lo nico es que tenemos que haber inicializado la sesin previamente. Y por supuesto, que la variable que deseamos acceder exista previamente. <? session_start(); ?> <html> <head> <title>Leo variable se sesin</title> </head> <body> Muestro esa variable: <? echo $_SESSION["mivariabledesesion"]; ?> </body> </html> Como se puede ver, al inicio del cdigo hemos inicializado la sesin y luego en cualquier parte del cdigo podramos acceder a las variables de sesin que tuvisemos creadas. Nota: si intentamos acceder a una variable de sesin con $_SESSION que no ha sido creada obtendremos otro mensaje de error: Notice: Undefined index: mivariabledesesion, que es el mismo que si intentamos acceder a cualquier elemento de un array que no existe.

Potrebbero piacerti anche