Curso PHP Online. Volumen V : Variables II y Tipos

Escrito por Jalths
Manuales
7

Hoy nos toca hablar del tipo String o Cadena de caracteres y de los arrays. Tendremos una sesión larga y con “miniejercicio” al final.

Ya hemos visto cómo se declara una variable y cómo ésta adquiere el tipo String (cuando es una cadena de texto $cadena = “hola”;), de lo que no se había hablado hasta ahora es de los caracteres especiales o caracteres de escape.

Los caracteres de escape sirven para representar caracteres, como el propio nombre indica, especiales, por ejemplo los saltos de linea o retornos de carro entre otros.

A continuación quedan expuestos algunos en esta lista:

n avance de línea

r retorno de carro

t tabulador horizontal

\ barra invertida

$ signo del dólar

” comillas dobles

Ejemplos de uso:

Que pasaría si dentro de una cadena queremos introducir precisamente ‘, pues sin problemas, la escapamos:

Y si fuese con comillas dobles:

Escapando una barra invertida:

Quedaos por ahora con los sencillos como el símbolo del dólar. El resto lo iremos viendo si es necesario durante el curso en ejemplos.

Ahora vamos a introducir dos nuevas formas de representación de cadenas de texto. Las formas son las Heredoc (creemos que también se llama texto incrustado, por si lo veis por ahí sabed que es lo mismo) y Nowdoc.

Heredoc, sería la representación de una cadena de forma literal , pero sustituyendo el valor de las variables (expandiendo las variables). En este tipo de representación no hacen falta escapar caracteres para representar caracteres especiales.

Ejemplo:

identificadordeinicio puede ser cualquier cadena de texto siempre que no se encuentre dentro del texto. <<< se pone antes del identificadordeinicio para definir que empieza una representación HEREDOC.

Después del identificadordeinicio no puede haber nada , ni siquiera un espacio en blanco, y después del segundo identificadordeinicio tampoco puede haber nada, y este tiene que estar sin tabulaciones es decir completamente a la izquierda.

Nowdoc: Hace exactamente lo mismo que HEREDOC pero sin sustituir el valor de las variables.

Ejemplo:

Como podéis ver, la sintaxis simplemente difiere con la Heredoc en que en este caso se añaden unas comillas simples al primer identificador de inicio

Comentaros antes de empezar con las Arrays que los identificadores en estas sentencias típicamente suelen ser EOD y EOT.

También se puede añadir valor a las variables en formato HEREDOC o NOWDOC.

Vamos con los Arrays:

Un array o matriz (en algunos lugares podéis ver que las matrices o arrays son nombradas como vectores o arreglos) un tipo de estructura de datos, la cual puede almacenar varios valores en varias posiciones.

Para que lo entendáis mejor vamos a comparar un array con una tabla la cual tiene cada casilla identificada por un número.

Si tuviésemos esa tabla y nosotros eligiéramos el índice o posición 2, estaríamos cogiendo el valor MANZANA, fácil ¿no?, pues ese es el fundamento basico de los arrays. Pero los arrays son mucho mas que esto, en PHP posen una increíble flexibilidad puesto que pueden formarse con ellas otras estructuras de datos más complejas agrupándolas entre sí, no obstante por ahora vamos a ver los arrays mas sencillos, los unidimensionales (los que se parecen a una tabla con índices) y si en el futuro necesitamos formar estructuras de datos mayores serán explicarán.

En las arrays necesitamos un índice (también llamado key,clave…) y un valor a almacenar, la declaración de una array seguiría esta estructura:

$nombredelaarray = array(“indice” => “valor”,”otroindice”=>”otrovalor”….);

vamos a ver un ejemplo de declaración y uso de un array:

salida: redeszone

Tanto indice01 como indice02 pueden ser cualquier cadena de texto o un cualquier entero, y comentar también que el operador => sirve para relacionar el índice (key ,clave…) con el valor real al que corresponde.

También puede darse el caso de querer declarar la array sin índices, con lo que se van asignando números del 0 al número de elementos del array:

Como veis, se asigna automáticamente a cada valor un índice siguiendo un orden ascendente empezando por 0.

Caso particular

Este os toca a vosotros investigar con él a ver si sabéis como funciona (lo he dejado fácil con el nombre de los valores), si tenéis dudas preguntáis por aquí,  estaremos encantados de contestaros siempre y cuando sepamos la respuesta.

Aclaración: Se ha introducido la etiqueta de salto de línea dentro del valor que se almacena en el array con el fin de que se vea que pueden ser usadas etiquetas también en el valor del array, pero no es recomendable hacerlo así, la forma correcta seria metiendo salto de línea entre cada echo en el que se muestre algún valor del array

También investigad lo que se ha comentado más arriba sobre asignar el valor a las variables en formato HEREDOC y NOWDOC. En el siguiente volumen antes de empezar con el nuevo contenido , os daremos la solución de como se hace, aunque creemos que habiendo leído el curso desde el principio no tendréis ningún tipo de problema para conseguirlo.

Nos vemos en la siguiente entrega , hablaremos un poco del cambio de tipos, el forzado de tipos, y si no se hace muy pesado, también hablaremos de operadores.


Continúa leyendo
  • DoLpHiN

    Este artículo no está en el recopilatorio ( http://www.redeszone.net/curso-php-online-recopilacion-de-articulos/ ), os he avisado por twitter y ni caso.
    Os lo digo por aquí a ver si es porque no os habéis enterado.
    Saludos

    • Hola, siempre contesto a los tweets…no lo he recibido parece ser 🙁 Tengo que ponerme a actualizar el índice sí…esta tarde los actualizo todos 😀

      • DoLpHiN

        No pasa nada, era para que lo supiérais.
        Ahhh, es que cómo ya pertenecía al capítulo 5 pensé que se os habría escapado.
        De todas formas muchas gracias, está genial el curso.

        • Pues sí, se nos había escapado porque pensaba que este volumen era d elos últimos 😀

  • Pilar

    Hola! Bueno he visto este curso y me parecia muy interesante… un año más tarde eso sí, por lo que no sé si contestareis a mi pregunta o no. Como habeis puesto al final de este volumen, ibais a dar la solucion, sin embargo yo no la encuentro. Y tengo una duda con respecto a lo que habeis puesto que investiguemos nosotros. Y es que no entiendo para que sirve poner el “1 =>” justo antes de uno, dos y tres, si luego cuando haces el echo de la matriz [1] matriz[2] y matriz [3] te muestra “uno dos y tres”…. Bueno no se si me he explicado bien, el caso es que he logrado averiguar como funciona. Muchas gracias!

  • Pilar

    Perdona, me acabo de dar cuenta que sí habiais puesto la solucion, estaba al final :).

  • estoy empezando el curso, y la verdad que estoy entendiendo todo:
    la respuesta es que cuando pones array (1=>

    le estas diciendo al vector que su indice que por defecto es cero empieze de 1 para arriba

    es solo eso nada mas

  • Pingback: Curso gratis de PHP, aprende programación en PHP()