Funktionerne bruges til at formatere en streng og kan være utrolig handy hvis man skal have en masse variabler ind i sin streng hvor nogle måske skal være 2 steder.
Der er en lille forskel på printf og sprintf og det er at:
- printf: Printer resultatet ud
- sprintf: Returnere resultatet
int printf ( string $format [, mixed $args [, mixed $... ]] )
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
$format (1. parameter) er formatet af vores resultat
Obs! For at man kan benytte et procent tegn (%) i $format skal man skrive %% istedet for %
Format er sådan set det man får som resultat
printf('Hello World!'); giver det samme som print 'Hello World!';
det smarte ved funktionerne er så at man kan bruge %x som en slags placeholder:
$variable = "World";
printf("Hello %s!",$variable); // udskriver Hello World, fordi at %s udskiftes med anden parameter (første efter $format)
Der er nogle forskellige "placeholders" man kan putte i sit format de mest simple er:
- %s - Streng, kan indeholde værdien af en streng
- %d - Integer, kan indeholde et heltal
- % - Universal, kan indeholde alt
Hvis vi f.eks ønsker at lave en mysql_query kan vi bruge sprintf til at indsætte værdierne i vores sql string
- Code: Select all
$felt1 = "Værdi af felt 1";
$felt2 = "Værdi af felt 2";
$felt3 = "Værdi af felt 3";
$felt4 = "Værdi af felt 4";
$felt5 = "Værdi af felt 5";
mysql_query(
sprintf(
"INSERT INTO myTable (felt1,felt2,felt3,felt4,felt5) VALUES ('%s','%s','%s','%s','%s')",
$felt1,
$felt2,
$felt3,
$felt4,
$felt5
)
);
dette vil svare til:
- Code: Select all
mysql_query("INSERT INTO myTable (felt1,felt2,felt3,felt4,felt5) VALUES ('Værdi af felt 1','V
ærdi af felt 2','Værdi af felt 3','Værdi af felt 4','Værdi af felt 5')");
Der er ikke nogen begrænsning for hvad disse funktioner kan bruges til.
Skrevet af Dandy på sp00fed.dk