on Dec 10th, 2008Formatera strängar i PHP
Någonting som jag ofta använder mig av i både PHP och C# är metoder för att formatera strängar. I PHP är det främst sprintf som används, och String.Format i C#.
Sprintf fungerar på följande vis:
Första argumentet till sprintf är strängen man vill formatera, och de efterföljande argumenten värdena som nycklarna i strängen skall ersättas med.
*printf-funktionerna stöder ett antal olika nycklar, varav de vanligaste är %s och %d. %s använder du när du vill skriva ut en strän, och %d när du vill skriva ut en integer.
Situationer där det är smidigt att kunna formatera strängar är vid till exempel skapandet av sql-satser, exempelvis:
En annan användbar funktion i samma familj är vsprintf, som tar två argument, där första är strängen man vill formatera, och andra en array med värdena. Till exempel:
*printf-funktionerna är även användbara för att formatera och bestämma precisionen för hel och flyttal. Skriver vi till exempel:
Kommer det skrivas ut Jag är 10011 år gammal, där alltså %b är den binära representationen av 19.
Man kan som sagt även bestämma precisionen av hel och flyttal, till exempel.
där vi alltså skickar in ett flyttal och får ut ett avrundat heltal, jag vet, heltal kan inte vara flyttal.