Cadenas de caracteres Una cadena es una secuencia de caracteres que se encuentran comprendidos entre delimitadores. En PHP se pueden especificar mediante dos tipos de delimitadores: • • Comillas simples: ‘ ’ Comillas dobles: “ ” Comillas simples: Permiten asignar a una variable de tipo cadena de caracteres todo el texto que vaya encerrado entre las dos comillas simples. El texto puede contener cualquier carácter; sin embargo, cuando sea necesario que en el texto aparezca una comilla simple, ésta deberá ir precedida por el carácter barra invertida (\). A esto se la denomina escapar un caracter. Si dentro de una cadena delimitada por comillas simples se hace referencia a una variable, ésta no será tenida en cuenta. Ejemplo: $variable='Hola mundo'; echo 'Esto es un \'texto \' y se escribirá $variable'; //Esta instrucción no muestra el contenido de $variable. Comillas dobles: Hay que mencionar que son mas avanzadas que las anteriores. Al igual que las comillas simples permiten asignar a una variable de tipo cadena de caracteres todo el texto que vaya encerrado entre las dos comillas dobles. El texto también puede contener cualquier carácter. Al igual que las comillas simples, cuando se requiere que aparezcan dentro del texto las comillas dobles o la barra invertida (\), hay que recurrir a la técnica de escapado de caracteres. En este tipo de cadenas como ya se ha visto, si se puede hacer referencia al contenido de una variable, es decir, en la impresión de la cadena, entregará el valor de la variable a la que se hace referencia dentro de la cadena. Ejemplo: $variable='Hola mundo'; echo "Esto es un \"texto \" y se escribirá $variable"; //Esta instrucción si muestra el contenido de $variable. Programación para sistemas en red II Profesor: Julio César Meza Ramírez Acceso a cadenas de caracteres Una cadena de caracteres, puede tomarse como la definición de una matriz indexada, es decir, se pueden acceder a los caracteres de acuerdo a la posición en la cual se encuentran, teniendo en cuenta que la primera posición de la cadena equivale a 0. Ejemplo: $cadena='Esto es una cadena'; echo $cadena[1]; //Equivale a 's' Para poder utilizar la cadena de caracteres como una matriz indexada, se hace necesario conocer su tamaño. strlen(): devuelve la longitud de la cadena. Ejemplo: $cadena='esta es una cadena'; $tamaño=strlen($cadena); echo $tamaño; Existen dos funciones en PHP que se aplican sobre los caracteres: chr() y ord(). chr(), devuelve en una variable de tipo cadena, el caracter de la tabla de códigos ASCII, asociado a un valor que recibe como parámetro; dicho valor deberá estar entre 0 y 255. Sin embargo, si el valor es mayor a 255, la función obtiene internamente el valor del resto de la división por 255 (%). Ejemplo: $cadena=chr(92); echo $cadena; //Esto entrega como resultado: \ ord(), devuelve un número entero que corresponde con el código ASCII del primer caracter de la cadena que recibe como parámetro. Ejemplo: $cadena='\ esta es una cadena'; $resultado=ord($cadena); //Entrega el número 92 echo $resultado; Programación para sistemas en red II Profesor: Julio César Meza Ramírez A continuación, se presenta un script con todos los ejemplos anteriormente comentados: <html> <head><title>Ejemplo de cadenas</title></head> <body> <center><h1>Utilización de cadenas</h1></center> <?php //comillas simples $variable='Hola mundo'; echo 'Esto es un \'texto \' y se escribirá $variable'; echo "<br>"; //comillas dobles echo "Esto es un \"texto \" y se escribirá $variable"; echo "<br>"; //Ejemplo de la cadena como array $cadena='Esto es una cadena'; echo $cadena[1]; //Equivale a 's' echo "<br>"; //Ejemplo de chr() $cadena=chr(92); echo $cadena; //Esto entrega como resultado: \ echo "<br>"; //Ejemplo ord() $cadena='\ esta es una cadena'; $resultado=ord($cadena); //Entrega el número 92 echo $resultado; echo "<br>"; //Ejemplo strlen() $cadena='esta es una cadena'; $tamaño=strlen($cadena); echo $tamaño; ?> </body> Programación para sistemas en red II Profesor: Julio César Meza Ramírez </html> Taller: 1. Realizar un script que dada una cadena tomada por pantalla, determine si esta es o no una dirección de correo electrónico. Es importante tener en cuenta que el formato básico de una dirección de este tipo es: [email protected]. 2. Realizar un algoritmo que dadas dos cadenas tomadas por pantalla, determine si estas son iguales. 3. Dada la siguiente cadena de caracteres: “El manejo de cadenas de caracteres es uno de los aspectos críticos de cualquier lenguaje de programación”. Realice un algoritmo que permita contar las ocurrencias de la letra “a”. 4. Consultar la función de PHP que permite convertir a mayúsculas una cadena de caracteres. 5. Realice un script que permita imprimir la siguiente tabla con los 255 caracteres del código ASCII. La tabla se debe imprimir de uno en uno, del 1 hasta el 250. Número Caracter 1 r 100 150 8 56 Cabe recordar la necesidad de no utilizar funciones prediseñadas del lenguaje, es decir, para cada punto a acepción de los ejercicios número cuatro y número cinco, se debe diseñar el algoritmo que realice la acción requerida. Programación para sistemas en red II Profesor: Julio César Meza Ramírez