Diferencia entre revisiones de «Plantilla:ManuelRomero/PHP/InstruccionEscribir»
De WikiEducator
(→Escribiendo por pantalla) |
|||
Línea 74: | Línea 74: | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | ; Etiquetas HTML | + | === Los strings === |
+ | |||
+ | * Cuando escribimos texto con `echo`, este texto se envía al navegador o recurso que solicitó la página. El navegador se encarga de interpretar y renderizar el HTML generado. | ||
+ | * Dentro de este texto, además de caracteres alfanuméricos de código ASCII, pueden aparecer caracteres especiales que pueden o no interpretarse. Si no se interpretan, se considerarán caracteres normales. | ||
+ | * Un [[#string|string]] es una cadena de caracteres. | ||
+ | * Para representarla, encerramos caracteres entre <span class=resaltado>comillas simples</span> o <span class=resaltado>comillas dobles</span>. Dependiendo de lo que contenga, puede tener diferentes comportamientos, como veremos posteriormente. | ||
+ | |||
+ | <source lang="php"> | ||
+ | "Esto es una cadena encerrada entre comillas dobles que tiene caracteres, | ||
+ | números 12345 y algún caracter no letra como % & y = y cualquiera en principio será imprimible" | ||
+ | </source> | ||
+ | |||
+ | <source lang="php"> | ||
+ | 'Esto es una cadena encerrada entre comillas simples que tiene caracteres, | ||
+ | números 12345 y algún caracter no letra como % & y = y cualquiera en principio será imprimible' | ||
+ | </source> | ||
+ | |||
+ | * Dentro de un string, además de caracteres imprimibles como en el ejemplo anterior, también hay caracteres que tienen un <span id="resaltado">significado especial</span>. Ahí será diferente usar comillas simples o comillas dobles. | ||
+ | |||
+ | ;Caracteres especiales: | ||
+ | |||
+ | Los siguientes caracteres son especiales, lo que implica que no se imprimirán y tendrán algún tipo de efecto con los caracteres que le siguen: | ||
+ | |||
+ | {| | ||
+ | !style="color:white;background:blue;"|Carácter | ||
+ | !style="color:white;background:blue;"| Significado | ||
+ | !style="color:white;background:blue;"| Ejemplo | ||
+ | !style="color:white;background:blue;"|Acción | ||
+ | |- | ||
+ | |size=2em style="text-align:center;width:150px;color:white;background:red;"|$ | ||
+ | |style="width:150px;color:white;background:green"|Sintaxis simple de interpretación de variable | ||
+ | |style="width:150px;color:white;background:red"|$edad | ||
+ | |Se sustituirá la variable por su valor, en este caso, por el valor de `$edad` | ||
+ | |- | ||
+ | |size=2em style="text-align:center;width:150px;color:white;background:red;"|\ | ||
+ | |style="width:150px;color:white;background:green"|Secuencia de escape | ||
+ | |El carácter que le sigue será interpretado como una secuencia de escape (ver tabla posterior) | ||
+ | |- | ||
+ | |size=2em style="text-align:center;width:150px;color:white;background:red;"|{} | ||
+ | |style="width:150px;color:white;background:green"|Sintaxis compleja | ||
+ | |style="width:150px;color:white;background:red"|${nota['maria']} | ||
+ | |Permite realizar una doble interpretación, en este caso, para acceder a un elemento de un array | ||
+ | |} | ||
+ | |||
+ | ===== Secuencia de Escape ===== | ||
+ | ;Caracteres especiales con \ | ||
+ | https://www.php.net/manual/es/regexp.reference.escape.php | ||
+ | |||
+ | * <span style="color:green">Secuencias de escape</span>: algunos caracteres no imprimibles pueden representarse usando la barra invertida `\`. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Secuencia de escape !! Significado | ||
+ | |- | ||
+ | |\’ | ||
+ | |Comillas simples | ||
+ | |- | ||
+ | |\" | ||
+ | |Comillas dobles | ||
+ | |- | ||
+ | |\\ | ||
+ | |Barra invertida | ||
+ | |- | ||
+ | |\n | ||
+ | |Nueva línea (endl) | ||
+ | |- | ||
+ | |\r | ||
+ | |Retorno | ||
+ | |- | ||
+ | |\t | ||
+ | |Tabulación Horizontal | ||
+ | |- | ||
+ | |\v | ||
+ | |Tabulación Vertical | ||
+ | |- | ||
+ | |\0 - \777 | ||
+ | |Código ASCII (octal) | ||
+ | |- | ||
+ | |\x0 - \xFF | ||
+ | |Código ASCII (hexadecimal) | ||
+ | |} | ||
+ | |||
+ | * Para especificar una cadena de caracteres podemos usar `""`, `''` (más adelante veremos otras formas conocidas como heredoc y nowdoc usando el operador `<<<`). | ||
+ | * Hay una diferencia importante entre usar comillas dobles `""` y comillas simples `''`. | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas dobles| | ||
+ | ;Interpretan los caracteres especiales: | ||
+ | * '''''$''''' Especifica una variable con sintaxis simple. | ||
+ | * '''''\''''' [[#secuencia de escape|Secuencia de escape]] | ||
+ | * '''''{$''''' Sintaxis compleja para doble interpretación (por ejemplo, para acceder a posiciones de un array asociativo o atributos de un objeto). | ||
+ | }} | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas simples| | ||
+ | ;No interpretan los caracteres especiales, salvo: | ||
+ | * '''''<nowiki>\'</nowiki> ''''' | ||
+ | * '''''<nowiki>\\</nowiki> ''''' | ||
+ | }} | ||
+ | |||
+ | * Puedes usar '''secuencias de escape''' como '''\n''' para un salto de línea en la salida HTML, aunque este no será visible directamente en el navegador, sino solo en el código fuente del HTML. | ||
+ | |||
+ | ;Etiquetas HTML | ||
+ | |||
+ | * Si se incluyen etiquetas HTML con `echo`, estas se enviarán tal cual al navegador, que las renderizará correctamente. | ||
+ | |||
+ | |||
− | |||
{{MRM_Actividad|Title=Ejercicio 1 : [[Usuario/ProgramacionWeb/Sintaxis/ejercicios/ejercicio1|Usando echo]]| | {{MRM_Actividad|Title=Ejercicio 1 : [[Usuario/ProgramacionWeb/Sintaxis/ejercicios/ejercicio1|Usando echo]]| | ||
Línea 94: | Línea 193: | ||
*Prueba ambas y verifica la salida visualizando el código fuente del recurso generado. | *Prueba ambas y verifica la salida visualizando el código fuente del recurso generado. | ||
}} | }} | ||
+ | |||
+ | |||
=== printf === | === printf === | ||
Línea 226: | Línea 327: | ||
==string== | ==string== | ||
*Antes de ver cómo escribir un string ([[#echo|echo]]), vamos a comentar los [[#string|string]]. | *Antes de ver cómo escribir un string ([[#echo|echo]]), vamos a comentar los [[#string|string]]. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Funciones de salida== | == Funciones de salida== |