Índice de contenidos
Instalación en Windows
Instalación en Ubuntu
Servidores seguros
Páginas dinámicas
Sintaxis básica
Operaciones
Arrays
Formatos de presentación
Operadores
Bucles
Extraer y ord. información
Funciones
Ficheros externos
Imágenes dinámicas
Gestión de directorios
Cookies y sesiones
Clases y objetos
Ficheros en formato PDF
Bases de datos MySQL
PHP y XML
PDO - Bases SQLite / MySQL
MySQL a traves de misqli
Algo de JavaScript y AJAXFunciones de salida
Ya conocemos algunas de las funciones que PHP utiliza para mostrar información –salidas– en la ventana del navegador del cliente.
Recordémoslas:
echoLa función echo, aunque admite también la forma echo(), no requiere de forma obligatoria el uso de los paréntesis. Detrás de la instrucción echo pueden insertarse: variables, cadenas (éstas entre comillas) y números (éstos sin comillas) separadas por comas.
Este es un ejemplo de código:
$a=24; $b="Pepe"; $c="<br>"; echo $a,$b,25, "Luis",$c; que produciría esta salida: 24Pepe25LuisLa función print() sólo puede contener dentro del paréntesis una sola variable, o el conjunto de varias de ellas enlazadas por un punto. Aquí tienes algunos ejemplos:
print(25.3) produciría esta salida 25.3
print("Gonzalo") escribiría Gonzalo
$z=3.1416; print($z); escribiría 3.1416
Recuerda también que es posible utilizar dentro del paréntesis el concatenador de cadenas.
$h=3; $f=" hermanos"; print("Heladeria ".$h.$f) que escribiría Heladeria 3 hermanosSalidas con formato
Ni la función echo, ni tampoco print permiten establecer una presentación (formato) en sus salidas, excepto que alguna de las variables que se use contenga el resultado de una función number_format.
La función printf() ofrece un gran número de posibilidades en este sentido. Tanto la sintaxis como los valores de los diferentes parámetros –cuando se trate de presentar números– las tienes resumidas en la tabla.
En la página siguiente veremos el uso de printf() para el tratamiento de variables tipo cadena.
| Sintaxis | |||||
| printf(cadena de formato,variable1,variable2,..) | |||||
| Cadena de formato | |||||
| "%[relleno][alineación][ancho][precisión][tipo]" | |||||
| Relleno | Carácter | Valor | Sintaxis | Resultado | |
| 0 | 0 | printf("%020d",32) | 00000000000000000032 | ||
| * | '* | printf("%'*20d",32) | ******************32 | ||
| espacio1) | ' | printf("%' 20d",32) | 32 | ||
| - | '- | printf("%'-20d",32) | ------------------32 | ||
| |||||
| Alineación | Carácter | Valor | Sintaxis | Resultado | |
| Ninguno | Dcha | printf("%020d",32) | 00000000000000000032 | ||
| - | Izda | printf("%0–20d",32) | 32 | ||
| Ninguno | Dcha | printf("%'*20d",32) | ******************32 | ||
| - | Izda | printf("%'*–20d",32) | 32****************** | ||
| Ninguno | Dcha | printf("%020s",32) | 00000000000000000032 | ||
| - | Izda | printf("%0–20s",32) | 32000000000000000000 | ||
| Ninguno | Dcha | printf("%'*20s",32) | ******************32 | ||
| - | Izda | printf("%'*–20s",32) | 32****************** | ||
| |||||
| Ancho | Carácter | Valor | Sintaxis | Resultado | |
| Entero | 14 | printf("%'*14d",32) | ************32 | ||
| Entero | 17 | printf("%'*-17d",32) | 32*************** | ||
| Decimal | 14.5 | printf("%'*14.5d",32) | ************32 | ||
| Decimal | 17.8 | printf("%'*-17.8d",32) | 32*************** | ||
| Decimal | 14.5 | printf("%'*14.5f",32) | ******32.00000 | ||
| Decimal | 11.8 | printf("%'*-11.8f",32) | 32.00000000 | ||
| |||||
| Tipo | Tipo | Valor | Sintaxis | Resultado | |
| Presentación en forma binaria |
b | printf("%'*14b",17) | *********10001 | ||
| Caracter correspondiente al código ASCII |
c | printf("%'*14c",97) | a | ||
| Número presentado como entero |
d | printf("%'*14d",17.83) | ************17 | ||
| Número presentado con decimales |
f | printf("%'*14f",17.45) | *****17.450000 | ||
| Presentación en forma octal |
o | printf("%'*14o",17) | ************21 | ||
| Presentación en hexadecimal |
x | printf("%'*14x",170) | ************aa | ||
| Presentación en hexadecimal |
X | printf("%'*14X",170) | ************AA | ||
| Presentación como >cadena |
s | printf("%'*14s",170) | ***********170 | ||