<?php
$i=28;
printf("i=%d\n",$i) ;
printf("i=%o\n",$i) ;
printf("i=%x\n",$i) ;
printf("i=%X\n",$i) ;
printf("i=%u\n",$i) ;
printf("i=%b\n",$i) ;
printf("i=%c\n",$i) ;
$ch1="bonjour";
printf("ch1=%s\n",$ch1) ;
$x=2.3e-4 ;
printf("réel=%f\n",$x) ;
printf("réel=%E\n",$x) ;
printf("réel=%G\n",$x) ;
$x=2.3e-300 ;
printf("réel=%G\n",$x) ;
printf("%%\n") ;

// format lageur entier
echo "=== Affichage entier 24 ===".PHP_EOL;
$i = 24;
printf("|%d|\n",    $i); // affichage standard
printf("|%5d|\n",   $i); // justification à droite avec des espaces
printf("|%05d|\n",  $i); // remplissage avec des 0
printf("|%-5d|\n",  $i); // justification à gauche avec des espaces
printf("|%'#5d|\n", $i); // utilisation du caractère personnalisé de séparation '#'
printf("|%'?5o|\n", $i); // octal et utilisation du caractère personnalisé de séparation '?'
printf("|%'=5x|\n", $i); // hexacdécimal et utilisation du caractère personnalisé de séparation '='
printf("|%5.5d|\n", $i); // idem %5d

// format lageur réel
echo "=== Affichage réel 25.4234 ===".PHP_EOL;
$y = 25.4234 ;
printf("|%f|\n",    $y); // affichage standard
printf("|%10f|\n",   $y); // justification à droite avec des espaces et 6 décimales
printf("|%10.3f|\n",  $y); // justification à droite avec des espaces et 3 décimales
printf("|%+10.3f|\n",  $y); // affichage signé
printf("|%010.3f|\n",  $y); // remplissage avec des 0
printf("|%-10.3f|\n",  $y); // justification à gauche avec des espaces
printf("|%'#10.3f|\n", $y); // utilisation du caractère personnalisé de séparation '#'
printf("|%'?10.3f|\n", $y); // octal et utilisation du caractère personnalisé de séparation '?'
printf("|%'=10.3f|\n", $y); // hexacdécimal et utilisation du caractère personnalisé de séparation '='

// format lageur chaîne
echo "=== Affichage chaînes   bateaux ===".PHP_EOL;
$s = 'bateaux';
$t = 'nombreux bateaux';
printf("|%s|\n",      $s); // affichage d'une chaîne standard
printf("|%10s|\n",    $s); // justification à droite avec des espaces
printf("|%-10s|\n",   $s); // justification à gauche avec des espaces
printf("|%010s|\n",   $s); // l'espacement nul fonctionne aussi sur les chaînes
printf("|%'#10s|\n",  $s); // utilisation du caractère personnalisé de séparation '#'
echo "=== Affichage chaînes   nombreux bateaux ===".PHP_EOL;
printf("|%12s|\n", $t); // justification à gauche mais avec une coupure à 12 caractères
echo "=== Affichage chaînes   nombreux bateaux (tronquée) ===".PHP_EOL;
printf("|%12.12s|\n", $t); // justification à gauche mais avec une coupure à 12 caractères

echo "=== printf comme fonction===".PHP_EOL;
$y=24.42 ;
$a=13    ;
$nb=printf("resultats=%5.2f et %4d\n",$y,$a) ;
echo 'affichage total = '.$nb.PHP_EOL;
?>
