HervéRenault.fr

Logo de PHP

Faire un tableau en texte avec printf et des caractères graphiques

Je classe ça dans la section PHP mais ça vient du C et on peut faire pareil en Bash ou d'autres langages.

Quelques éléments de doc

Un exemple de script simple

Pour afficher le résultat d'une requête SQL dans un tableau de 2 colonnes, une avec du texte de 60 caractères maximum calé à gauche, et une avec un nombre à virgule de 10 caractères maximum, avec des bords simples et fins.

echo "┌──────────────────────────────────────────────────────────────┬────────────┐\n";
printf("│ %-60s │ %10s │\n", "Bidule", "Truc");
echo "├──────────────────────────────────────────────────────────────┼────────────┤\n";

while ($row = $sth->fetch()) {
    printf("│ %-60s │ %10f │\n", $row[0], $row[1]);
}

echo "└──────────────────────────────────────────────────────────────┴────────────┘\n";

Je trouve pratique de voir le gabarit des lignes du haut et du bas donc je les insère dans Vim avec 62i Echap mais je peux aussi les faire avec :

printf("┌%62s┬%12s┐\n", str_repeat("─", 62), str_repeat("─", 12));