Funciones para mostrar caracteres

Para mostrar caracteres la principal función que tenemos es echo, puedes ver en más profundidad su uso aquí:Uso de echo en PHP. No obstante PHP ofrece otras muchas funciones para mostrar cadenas.
Vamos a ver algunas de las más populares

Mostrar cadenas con print()

Es exactamente igual al uso de echo, para practicarlo haz los mismos ejercicios de la entrada anterior pero usando print().

Ejercicios

  1. Muestra esta frase: Las variables en “PHP” se hacen con $. Usando los tres métodos
  2. Muestra esta frase: Para ‘escapar’ usamos la \. Usando los tres métodos
  3. Muestra esta frase: ” \ ‘ $ estos son los símbolos más conflictivos. Usando los tres métodos

Mostrar cadenas con printf()/sprintf

El uso de printf es más complejo que el uso de echo o de print(). Consiste en mostrar cada variable con el tipo de datos adecuado. Los más comunes son: , d para enteros, f coma flotante, s cadenas de caracteres…
sprintf() hace exactamente lo mismo pero también retorna el texto en una variable. Lo mejor será ver unos ejemplos:

<?php
$a=34;
$b=3.4;
$c="hola";
echo "<p>".$a.$b.$c."</p>";
print("<p>".$a.$b.$c."</p>");
printf ("<p> %d,%f,%s </p>",$a,$b,$c);
$escrito=sprintf("<p> %d,%f,%s </p>",$a,$b,$c);
echo $escrito;
?>

Leer cadenas con sscanf

sscanf() funciona de forma analoga a printf (usando %..). Pero lo que hace es leer caracteres de la cadena tomando por separador el espacio. De tal forma que podremos hacer ejercicios como el que se muestra a continuación.

<html>
<head>
   <title>Ejemplo de sscanf()</title>
</head>
<body>
<table border="3">
<?php
// Los campos vienen separados por espacios en blanco
$agenda = array( 
   "Alberto Ctra._Murcia_Km._123 9876543431 alberto@murcia.mur",
   "Jorge Ctra._Valencia_Km.7 9994541145 jorge@correo.mio",
   "Agustin Ctra._Valencia_Km.7 9994541145 agustin@correo.mio",
   "Javier Ctra._Valencia_Km.7 99933441145 javier@correo.mio",
   "Manuel Despacho_1114 9823423424 manuel@sucasa.es"
               );

foreach($agenda as $amigo)
   {
   $leidos = sscanf($amigo, "%s %s %f %s");
   echo "<tr>\n";
   echo "<td>$leidos[0]</td><td>$leidos[1]</td>\n
         <td align='center'>$leidos[2]</td>\n
         <td align='center'>$leidos[3]</td>\n";
   echo "</tr>\n";
   }
?>
</table>
</body>
</html>

Ejercicios práctico

Para hacer este ejercicio práctico vamos a usar la base de datos world. Para ello tendremos que pasar cada una de las tablas a un fichero y que nos quede como estas(actualizado estás todas las tablas, con los espacios solucionados).
Después podremos hacer operaciones como la que se muestra para leer la tabla City.

<?php
function leer_fichero($nombre)
    {
    $fichero = file($nombre);
    for ($i=0;$i<count($fichero);$i++)
        $fichero[$i]=chop($fichero[$i]);
    return $fichero;
    }
$datos=leer_fichero("city");
echo "<table>";
foreach($datos as $ciudad)
   {
   $leidos = sscanf($ciudad, "%d %s %s %s %d");
   echo "<tr>";
   echo "<td>$leidos[0]</td><td>$leidos[1]</td>
         <td align='center'>$leidos[2]</td>
         <td align='center'>$leidos[3]</td>
         <td align='center'>$leidos[4]</td>";
   echo "</tr>";
   }
echo "</table>";   
?>

Ejercicios

  1. Lee ahora el fichero de los países
  2. Lee ahora el ficchero de los idiomas

Originally posted 2011-02-27 21:33:09.

One Response to “ Funciones para mostrar caracteres ”

  1. hola dice:

    alert(‘holamundo’)

Deja un comentario