Diferencia entre revisiones de «Plantilla:ManuelRomero/PHP/InstruccionEscribir»
De WikiEducator
(Página creada con «<div class="slide"> == Escribiendo por pantalla == Para escribir por pantalla tenemos dos instrucciones principales: * ;echo * ;print Son muy parecidas, con alguna difer...») |
(→Funciones de salida) |
||
(8 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 3: | Línea 3: | ||
== Escribiendo por pantalla == | == Escribiendo por pantalla == | ||
Para escribir por pantalla tenemos dos instrucciones principales: | Para escribir por pantalla tenemos dos instrucciones principales: | ||
− | + | <source lang=php> | |
− | + | echo "mensaje a escribir"; | |
− | + | print "texto a mostrar"; | |
+ | </source> | ||
Son muy parecidas, con alguna diferencia que comentaremos. | Son muy parecidas, con alguna diferencia que comentaremos. | ||
=== echo === | === echo === | ||
− | El operador | + | * El operador '''''echo''''' se utiliza para imprimir texto en PHP. |
+ | * Aunque se parece a una función, técnicamente '''no es una función''', por lo que puede usarse sin paréntesis, y también admite múltiples argumentos. | ||
<source lang="php"> | <source lang="php"> | ||
Línea 37: | Línea 39: | ||
=== print === | === print === | ||
− | + | * '''print''' es similar a '''echo''' en funcionalidad, pero presenta dos diferencias importantes: | |
* '''Solo acepta un argumento.''' | * '''Solo acepta un argumento.''' | ||
Línea 62: | Línea 64: | ||
</source> | </source> | ||
− | + | {{MRM_Puntos clave|Title=echo o print| | |
+ | *'''echo''' es más usado, ya que al no devolver ningún valor, es ligeramente más rápido que '''print''', por lo que se suele preferir. | ||
+ | }} | ||
+ | |||
{{MRM_Actividad|Title=Ejercicio 2 : [[Usuario/ProgramacionWeb/Sintaxis/ejercicios/ejercicio2|Usando echo y print]]| | {{MRM_Actividad|Title=Ejercicio 2 : [[Usuario/ProgramacionWeb/Sintaxis/ejercicios/ejercicio2|Usando echo y print]]| | ||
Línea 69: | Línea 74: | ||
}} | }} | ||
− | |||
− | |||
− | *Puedes usar '''secuencias de escape''' como '''\n''' para un salto de línea en la salida 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. | ||
+ | * Este texto es un valor de tipo '''string'''. | ||
+ | * Un [[#string|string]] es una cadena de caracteres, que puede representarse entre <span class=resaltado>comillas simples</span> o <span class=resaltado>comillas dobles</span>. | ||
+ | |||
+ | ; Caracteres especiales en un string | ||
+ | * Dentro del texto de un string, pueden aparecer caracteres especiales como '''''$, \, {, ', "'''''. | ||
+ | * Un carácter especial tiene un significado específico cuando está en un string delimitado por comillas dobles. | ||
+ | |||
+ | {{MRM_Punto clave|Title=Comillas dobles o comillas simples| | ||
+ | * La elección entre comillas dobles o simples afecta cómo se interpretan los caracteres especiales: | ||
+ | * '''''Comillas dobles''''': Interpretan los caracteres especiales, por lo que estos no se imprimirán literalmente. | ||
+ | * '''''Comillas simples''''': No interpretan los caracteres especiales, por lo que estos se imprimirán tal cual, excepto por `\'` y `\\`. | ||
+ | }} | ||
+ | |||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | $nombre = "Juan"; | ||
+ | echo "Hola, $nombre"; // Usando comillas dobles: interpretará $nombre como una variable y mostrará "Hola, Juan" | ||
+ | echo 'Hola, $nombre'; // Usando comillas simples: no interpretará $nombre, y mostrará "Hola, $nombre" | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | ; Caracteres Especiales en PHP | ||
+ | |||
+ | Los siguientes caracteres tienen un significado especial en PHP. En comillas dobles, afectarán la interpretación de la cadena; en comillas simples, solo `\'` y `\\` se interpretan: | ||
+ | |||
+ | {| | ||
+ | !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 | ||
+ | |- | ||
+ | |style="text-align:center;width:150px;color:white;background:red;"|$ | ||
+ | |style="width:150px;color:white;background:green"|Sintaxis de interpretación de variable | ||
+ | |`$edad` | ||
+ | |Se sustituirá la variable por su valor (en comillas dobles). | ||
+ | |- | ||
+ | |style="text-align:center;width:150px;color:white;background:red;"|\ | ||
+ | |style="width:150px;color:white;background:green"|Secuencia de escape | ||
+ | |`\"` | ||
+ | |Escapa el carácter siguiente (como comillas dobles dentro de un string en comillas dobles). | ||
+ | |- | ||
+ | |style="text-align:center;width:150px;color:white;background:red;"|{} | ||
+ | |style="width:150px;color:white;background:green"|Sintaxis compleja para variables | ||
+ | |`${nombre['Juan']}` | ||
+ | |Acceso a un elemento de un array o atributo de un objeto dentro de un string (en comillas dobles). | ||
+ | |} | ||
+ | |||
+ | ===== Secuencia de Escape ===== | ||
+ | ; Caracteres especiales con \ | ||
+ | https://www.php.net/manual/es/regexp.reference.escape.php | ||
+ | |||
+ | * <span style="color:green">Secuencias de escape</span>: Para representar ciertos caracteres, usamos la barra invertida `\` dentro de comillas dobles. | ||
+ | |||
+ | {| 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) | ||
+ | |} | ||
+ | |||
+ | ; Etiquetas HTML en `echo` | ||
+ | |||
+ | * Si se incluyen etiquetas HTML en `echo`, estas se enviarán al navegador, que las interpretará y renderizará como parte de la página web. | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas dobles| | ||
+ | * Interpretan los caracteres especiales como variables (`$variable`), secuencias de escape (`\n`, `\t`), y el uso de `{}` para interpretar expresiones complejas en un string. | ||
+ | }} | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas simples| | ||
+ | * No interpretan los caracteres especiales, excepto para `\'` y `\\`. | ||
+ | }} | ||
+ | |||
+ | * Puedes usar '''secuencias de escape''' como '''\n''' para un salto de línea en la salida HTML. Este salto no será visible directamente en el navegador, pero aparecerá en el código fuente del HTML. | ||
+ | |||
+ | ;Etiquetas HTML | ||
+ | |||
+ | * Si se incluyen etiquetas HTML con `echo`, estas se enviarán al navegador tal cual, 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 89: | Línea 194: | ||
*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 218: | Línea 324: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |