Diferencia entre revisiones de «Plantilla:PHP/InstruccionEscribir»
De WikiEducator
(→Funciones de salida) |
|||
(55 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ==string== | |
− | + | *Antes de ver cómo escribir un string ([[#echo|echo]]), vamos a comentar los [[#string|string]]. | |
+ | *Un [[#string|string]] es una cadena de caracteres. | ||
+ | *Para representarla encerraremos caracteres entre <span class=resaltado>comillas simples</span> o <span class=resaltado>commillas dobles</span>, que dependiendo de lo que contenga, puede tener diferentes comportameninto, como veremos posteriormente. | ||
<source lang=php> | <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> | ||
− | |||
<source lang=php> | <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> | ||
+ | |||
+ | *Dentro de un string, además de caracteres imprimibles como en el ejemplo anterior, pero también hay caracteres que tienen un <span id="resaltado">significado especial</span>, y ahí será diferente usar comillas simples y comillas dobles. | ||
+ | ;Caracteres especiales: | ||
+ | |||
+ | Los siguientes caracteres son especiales, esto 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 interpretacion 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|Secuenca 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']} | ||
+ | |Se realiza 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>: hay caracteres no imprimibles que podemos querer representar, para ello usaremos la barra invertida '''''\'''''. | ||
+ | |||
+ | {| | ||
+ | ! style="text-align:left;"| Secuencia de escape | ||
+ | ! Significado | ||
+ | |- | ||
+ | |\’ | ||
+ | |Comillas simples | ||
+ | |- | ||
+ | |\" | ||
+ | | Comillas dobles | ||
+ | |- | ||
+ | |\\ | ||
+ | | Barra invertida | ||
+ | |- | ||
+ | |\n | ||
+ | | Nueva linea (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 posemos usar "", '' (más adelante veremos otras dos formas muy parecidas que son con el operador '''''<<<''''', conocidos como heredoc y newdoc) | ||
+ | *Aquí hay una gran diferencia en usar las comillas dobles "", y utilizar las comillas simples '' | ||
+ | {{MRM_Puntos clave|Title=Comillas dobles| | ||
+ | ;Interpretan los caracteres especiales: | ||
+ | *'''''$''''' Especifico una variable por sintaxis simple | ||
+ | *'''''\''''' [#secuencia de escape|Secuencia de espape] | ||
+ | *'''''{$''''' Especifico una variable por sintaxis compleja (doble interpretación, usado para acceder a posiciones de un array asociativo o atributos de un objeto) | ||
}} | }} | ||
+ | |||
+ | {{MRM_Puntos clave|Title=Comillas simples| | ||
+ | ;No interpreta los caracteres especiales, salvo: | ||
+ | * '''''<nowiki>\'</nowiki> ''''' | ||
+ | * '''''<nowiki>\\</nowiki> ''''' | ||
+ | }} | ||
== Funciones de salida== | == Funciones de salida== | ||
*Construcciones básicas para salida de caracteres | *Construcciones básicas para salida de caracteres | ||
*En PHP,en realidad no son funciones por lo que pueden ir sin paréntesis (con o sin paréntesis): | *En PHP,en realidad no son funciones por lo que pueden ir sin paréntesis (con o sin paréntesis): | ||
− | + | ;echo | |
− | + | ;print | |
− | *Existen otras funciones que iremos viendo según avance el curso | + | *Existen otras funciones que iremos viendo según avance el curso, pero podemos probar ahora |
+ | ;printf | ||
+ | ;print_r | ||
+ | ;var_dump | ||
</div> | </div> | ||
− | |||
<div class="slide"> | <div class="slide"> | ||
<!--4----------------------------------> | <!--4----------------------------------> | ||
+ | *Antes de continuar viendo [[#echo|echo]], vamos a presentar los valores '''''cadena de caracteres''''' o '''''string''''' | ||
===echo=== | ===echo=== | ||
*Es el uso más sencillo | *Es el uso más sencillo | ||
− | *Imprime una cadena como argumentos | + | *Imprime una #cadena como argumentos |
*En la versión '''''sin paréntesis''''' , también puedes pasar una lista de argumentos. | *En la versión '''''sin paréntesis''''' , también puedes pasar una lista de argumentos. | ||
<source lang=php> | <source lang=php> | ||
Línea 35: | Línea 114: | ||
</source> | </source> | ||
</div> | </div> | ||
+ | ;Secuencias de escape | ||
+ | *Cuando escribimos texto con [[#echo|echo]], lo que ocurre es que se aporta ese texto al fichero html o recurso que se le va a entregar al cliente que ha solicitado el recurso. | ||
+ | *Este texto, posteriormente, se interpreta y renderiza en un navegador | ||
+ | |||
+ | ;Etiquetas html | ||
+ | Si con [[#echo|echo]] escribimos una etiqueta html, esta se escribirá tal cual, y el navegador rederizará la etiqueta. | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | |||
+ | {{MRM_Actividad|Title=Ejercicio 1 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio1|Usando echo]]| | ||
+ | *Realiza un programa donde visualices un mensaje usando la instrucción '''''echo''''' | ||
+ | *Prueba a insetar caracteres especiales \n, \t | ||
+ | *Qué diferenica hay en usar '''''\n''''' e insertar la etiquega <source lang=html5><br/></source>, pruébalo y verifica la salida (mira el código fuelte del recurso generado. | ||
+ | }} | ||
+ | |||
+ | |||
+ | {{MRM_Actividad|Title=Ejercicio 2 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio2|Usando echo 2]]| | ||
+ | *Realiza un programa donde generes etiquetas html en diferente tamaño h1 | ||
+ | *Generaremos de forma aleatoria valores h1, h2, h3 | ||
+ | |||
+ | }} | ||
+ | |||
<!--4----------------------------------> | <!--4----------------------------------> | ||
+ | |||
+ | *En la versión '''''sin paréntesis''''' , también puedes pasar una lista de argumentos. | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | *echo “primer argumento”, “segundo argumento”, “tercer argumento” | ||
+ | ?> | ||
+ | </source> | ||
===print=== | ===print=== | ||
Línea 43: | Línea 152: | ||
*Tiene dos diferencias con echo | *Tiene dos diferencias con echo | ||
#Sólo puede aceptar un argumento | #Sólo puede aceptar un argumento | ||
− | #Devuelve un valor booleano que representa si la sentencia ha tenido exito o no | + | #Devuelve un valor booleano que representa si la sentencia ha tenido exito o no |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | <!-- | ||
{{Quiz_Multiple_Choice | {{Quiz_Multiple_Choice | ||
|title=Observa el siguiente código e indica si es o no correcto | |title=Observa el siguiente código e indica si es o no correcto | ||
|body= | |body= | ||
− | *<source lang=php> echo 'hola caracola', 'hola','como estás'</source> | + | *<source lang=php> echo 'hola caracola', 'hola','como estás';</source> |
** Correcto | ** Correcto | ||
*** Cierto, '''''echo''''' admite una lista de parámetros | *** Cierto, '''''echo''''' admite una lista de parámetros | ||
** Incorrecto | ** Incorrecto | ||
*** Revisa bien tu respuesta | *** Revisa bien tu respuesta | ||
− | *<source lang=php> print 'hola caracola', 'hola','como estás'</source> | + | *<source lang=php> print 'hola caracola', 'hola','como estás';</source> |
** Correcto | ** Correcto | ||
*** Revisa bien tu respuesta | *** Revisa bien tu respuesta | ||
Línea 62: | Línea 172: | ||
|hint= | |hint= | ||
}} | }} | ||
+ | --> | ||
</div> | </div> | ||
+ | <!--4--> | ||
+ | |||
+ | ===printf=== | ||
+ | *Es un función que imprime con formato (se usa igual que en java) | ||
+ | *Los especificadores de formato son | ||
+ | # '''%s''' '''''string''''' | ||
+ | # '''%c''' carácter | ||
+ | # '''%d''' (decimal), '''%u'''(decimal sin signo) '''%o'''(octal), '''%x''', '''%X''' (hexadecimal), '''%b'''(binario) | ||
+ | # '''%f''', '''%F''' (Float con decimales), '''%e''', '''%E''' (Float con notación ciétífica, | ||
+ | *En su uso especificaremos el valor con el formato que queramos visualizar, en la cadena de carácteres, y después, separado por comas, los valores (o variables)a visualizar. La relación es respectiva y posicionaL | ||
+ | |||
+ | {{MRM_Actividad|Title=Ejercicio 2 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio2|Probando printf]]| | ||
+ | *Asigna a una variable un valor real | ||
+ | *Visualiza dicho valor con formato %s, %f, %F, %c, %x, %X, %b, %o | ||
+ | *Prueba a especificar en número de decimales en %f | ||
+ | <source lang=php> | ||
+ | $n = 5.25251; | ||
+ | printf ("Valor del número con 2 decimales %.2f ", $n); //Mostrará 5.25, solo dos decimales | ||
+ | </source> | ||
+ | }} | ||
+ | <!-- | ||
+ | {{MRM_Actividad|Title=Ejercicio 3 : [[Usuario:ManuelRomero/ProgramacionWeb/Sintaxis/ejercicios/ejercicio3|printf, tabla ascii ]]| | ||
+ | *Usando la estructura de control '''''for''''' | ||
+ | <source lang=php> | ||
+ | for ($n=32; $n<128: $n++){ //iterará $n desde 32 hasta el valor 128 | ||
+ | } | ||
+ | </source> | ||
+ | *Para mostrar una tabla básica, las etiquetas '''''html''''' serán | ||
+ | <source lang=html5> | ||
+ | <table> | ||
+ | <caption></caption> | ||
+ | <tr> | ||
+ | <th>titulo 1</th> | ||
+ | <th>titulo 2</th> | ||
+ | <tr> | ||
+ | <td></td> | ||
+ | ...... | ||
+ | |||
+ | </table> | ||
+ | </source> | ||
+ | *Realiza el programa que genere dicha información | ||
+ | }} | ||
+ | --> | ||
+ | </div> | ||
+ | <div class="slide"> |
Última revisión de 21:54 29 nov 2022
- Secuencias de escape
- Cuando escribimos texto con echo, lo que ocurre es que se aporta ese texto al fichero html o recurso que se le va a entregar al cliente que ha solicitado el recurso.
- Este texto, posteriormente, se interpreta y renderiza en un navegador
- Etiquetas html
Si con echo escribimos una etiqueta html, esta se escribirá tal cual, y el navegador rederizará la etiqueta.
printf
- Es un función que imprime con formato (se usa igual que en java)
- Los especificadores de formato son
- %s string
- %c carácter
- %d (decimal), %u(decimal sin signo) %o(octal), %x, %X (hexadecimal), %b(binario)
- %f, %F (Float con decimales), %e, %E (Float con notación ciétífica,
- En su uso especificaremos el valor con el formato que queramos visualizar, en la cadena de carácteres, y después, separado por comas, los valores (o variables)a visualizar. La relación es respectiva y posicionaL
$n = 5.25251; printf ("Valor del número con 2 decimales %.2f ", $n); //Mostrará 5.25, solo dos decimales
|
</div>