Php printf esimerkkejä. Sprintf - Palauttaa muotoillun merkkijonon

(PHP 4, PHP 5, PHP 7)

sprintf - Palauttaa muotoillun merkkijonon

Luettelo parametreista

Muotomerkkijono koostuu nollasta tai useammasta käskystä: tavalliset merkit (paitsi % ), jotka kopioidaan suoraan tuloksena olevaan merkkijonoon, ja muunnoskuvaajat, joista jokainen korvataan jollakin parametreistä. Tämä koskee molempia sprintf(), ja siihen printf().

Jokainen tulosmäärittäjä koostuu prosenttimerkistä ( % ), jota seuraa yksi tai useampi lisäelementti (tässä järjestyksessä):

  1. Valinnainen merkin kuvaaja, joka osoittaa, kuinka merkkiä (- tai +) käytetään numeroon. Oletusarvoisesti vain miinusmerkkiä käytetään, jos luku on negatiivinen. Tämä määrittäjä saa positiiviset luvut näyttämään myös plusmerkin, ja se lisättiin PHP 4.3.0:aan.
  2. Valinnainen pehmusteen määrittäjä, joka määrittää millä merkillä tulos täytetään vaaditun pituiseksi. Se voi olla tila tai 0 . Oletusasetus on välilyönti. " Vaihtoehtoinen merkki voidaan määrittää yhdellä lainausmerkillä (
  3. Valinnainen ). Katso esimerkkejä alla. - kohdistuksen kuvaaja
  4. , joka määrittää kohdistuksen vasemmalle tai oikealle. Oletuksena se on tasattu oikealle, käytetään vasempaan kohdistukseen. Valinnainen numero
  5. Valinnainen leveyden määrittäjä, joka määrittää merkkien vähimmäismäärän, jonka tämän muunnoksen tulos sisältää.
  6. tarkkuuskuvaaja, määritetty pisteenä ("."), jota seuraa valinnainen desimaalimerkkijono, joka määrittää, kuinka monta desimaalipistettä liukulukujen kohdalla näytetään. Kun tätä määritettä käytetään merkkijonojen kanssa, se toimii leikkauskohtana, joka asettaa enimmäismerkkirajoituksen. Voit myös määrittää symbolin, jolla numero täydennetään pisteen ja numeron välissä.

    • % Tyypin määrittäjä
    • , joka määrittää, kuinka argumentin tietotyyppiä käsitellään. Kelvolliset tyypit:- prosenttisymboli. Argumenttia ei käytetä.
    • b- argumenttia käsitellään kokonaislukuna ja tulostetaan binäärilukuna.
    • c- argumenttia käsitellään kokonaislukuna ja tulostetaan merkinä vastaavan ASCII-koodin kanssa.
    • d- argumentti tulkitaan numeroksi tieteellisessä merkinnässä (esim. 1.2e+2).
    • Tarkkuusmääritys ilmaisee desimaalien määrän PHP 5.2.1:n jälkeen. Aiemmissa versioissa se osoitti merkitsevien numeroiden lukumäärän (yksi merkki vähemmän). E - samanlainen%e
    • , mutta käyttää isoa kirjainta (esimerkiksi 1,2E+2). f
    • - argumenttia käsitellään liukulukuna ja se myös tulostetaan alueesta riippuen. F
    • - argumenttia käsitellään liukulukuna ja se myös tulostetaan, mutta ei alueesta riippuen. - samanlainen Saatavilla alkaen PHP 4.3.10 ja PHP 5.0.3. g.
    • Ja%f G Saatavilla alkaen PHP 4.3.10 ja PHP 5.0.3. g.
    • - valitsee lyhimmän merkinnän%E
    • o- argumenttia käsitellään kokonaislukuna ja tulostetaan oktaalilukuna.
    • s- argumenttia käsitellään merkkijonona.
    • u- argumenttia käsitellään kokonaislukuna ja tulostetaan etumerkittömänä desimaalilukuna.
    • x- argumenttia käsitellään kokonaislukuna ja tulostetaan heksadesimaalilukuna (pienet kirjaimet).

X

- argumenttia käsitellään kokonaislukuna ja tulostetaan heksadesimaalilukuna (isoilla kirjaimilla).
Muuttujat muunnetaan määritteen tyyppiin: Tyyppi Käsittely
Tyyppi o
Tarkentaja c, s, b, - valitsee lyhimmän merkinnän, u, x, , joka määrittää, kuinka argumentin tietotyyppiä käsitellään. Kelvolliset tyypit:
merkkijono - argumenttia käsitellään liukulukuna ja se myös tulostetaan, mutta ei alueesta riippuen., Ja, d, Tarkkuusmääritys ilmaisee desimaalien määrän PHP 5.2.1:n jälkeen. Aiemmissa versioissa se osoitti merkitsevien numeroiden lukumäärän (yksi merkki vähemmän)., , mutta käyttää isoa kirjainta (esimerkiksi 1,2E+2)., - argumenttia käsitellään liukulukuna ja se myös tulostetaan alueesta riippuen.

kokonaisluku

kaksinkertainen

Huomio

Jos yrität käyttää merkkijonojen ja leveysmääritteiden yhdistelmää koodauksilla, jotka vaativat enemmän kuin yhden tavun merkkiä kohden, voi saada odottamattomia tuloksia.

Muotomerkkijono tukee parametrien numerointia ja uudelleenjärjestämistä. Esimerkiksi:
Esimerkki #1 Parametrien järjestyksen muuttaminen

$num = 5 ; $sijainti = "puu" ;;

?>

$muoto =

"%d apinaa istuu %s:lla"

Tämä koodi tulostaa "5 apinaa istuu puussa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti: Esimerkki #2 Parametrien järjestyksen muuttaminen;
$muoto =
?>

"%s:lla istuu %d apinaa"

echo sprintf ($muoto, $num, $sijainti);

Tämä koodi tulostaa "5 apinaa istuu puussa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti: On ongelma: muunnosmääritysten järjestys ei vastaa argumenttien järjestystä. Emme halua muuttaa koodia, ja meidän on määritettävä, mikä argumentti vastaa mitäkin konversiomääritteitä.;
$muoto =
?>

Esimerkki #3 Parametrien järjestyksen muuttaminen

"%2$s:ssa istuu %1$d apinaa"

Tämä koodi tulostaa "5 apinaa istuu puussa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti: Argumenttien numeroinnilla on toinenkin käyttötarkoitus: sen avulla voit tulostaa saman argumentin useita kertoja välittämättä lisäparametreja funktiolle.
Esimerkki #4 Parametrien järjestyksen muuttaminen
;
$muoto =
?>

"%2$s:ssa istuu %1$d apinaa. On hienoa, että %2$s istuu %1$d apinan päällä." Kun muutat parametrien järjestystä aseman kuvaaja % ) ennen kaikkia muita kuvaajia, kuten alla olevassa esimerkissä näkyy.

Esimerkki #5 Komplementtimerkin määrittäminen

echo sprintf ("%".9d\n" , 123 );
echo sprintf ("%".09d\n" , 123 );
?>

123 000000123

Esimerkki #6 Paikkamääritteen käyttäminen ja yhdessä muiden kuvaajien kanssa

Tämä koodi tulostaa "5 apinaa istuu puussa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti: "%2$s:ssa istuu %1$04d apinaa";
$muoto =
?>

Tämän esimerkin suorittamisen tulos:

0005 apinaa istuu puussa

Kommentti:

Yritettiin käyttää paikkamäärittelijää, joka on suurempi kuin PHP_INT_MAX, saa toiminnon luomaan varoituksen sprintf() .

kokonaisluku

The b tyypin määrittäjä jättää huomioimatta pehmusteen ja leveyden

Palautusarvot

Palauttaa muodon mukaan muotoillun merkkijonon.

Esimerkkejä

Esimerkki #7 sprintf(): täyte nolilla

$n = 43951789 ;
$u = - 43951789 ;
$c = 65; // ASCII 65 on "A"

// Huomaa, että kaksinkertainen %% tulostetaan yhtenä "%"
printf ("%%b = "%b"\n" , $n ); // binääriesitys
printf ("%%c = "%c"\n" , $c ); // tulostaa ascii-merkin, joka on samanlainen kuin chr()-funktio
printf ("%%d = "%d"\n" , $n ); // säännöllinen kokonaisluku
printf ("%%e = "%e"\n" , $n ); // tieteellinen merkintä
printf ("%%u = "%u"\n" , $n ); // positiivisen luvun etumerkitön kokonaislukuesitys
printf ("%%u = "%u"\n" , $u ); // negatiivisen luvun etumerkitön kokonaislukuesitys
printf ("%%f = "%f"\n" , $n ); // esitys liukulukusta
printf ("%%o = "%o"\n" , $n ); // oktaaliesitys
printf ("%%s = "%s"\n" , $n ); // rivi
printf ("%%x = "%x"\n" , $n ); // heksadesimaaliesitys (pienet kirjaimet)
printf ("%%X = "%X"\n" , $n ); // heksadesimaaliesitys (isot kirjaimet)

Printf ("%%+d = "%+d"\n" , $n ); // merkkikuvaaja positiivisella kokonaisluvulla
printf ("%%+d = "%+d"\n" , $u ); // merkkikuvaaja negatiivisella kokonaisluvulla
?>

Tämän esimerkin suorittamisen tulos:

%b = "10100111101010011010101101" %c = "a" %d = "43951789" %e = "4,39518e+7" %u = "43951789" %u = "4251015507" %f = "43951789,0000" %o = "247523 255 " %s = "43951789" %x = "29ea6ad" %X = "29EA6AD" %+d = "+43951789" %+d = "-43951789"

Esimerkki #8 printf(): merkkijonokuvaukset

$s = "apina" ;
$t = "monet apinat" ;

Printf("[%s]\n" , $s ); // normaali rivilähtö
printf ("[%10s]\n" , $s ); // tasaa oikealle välilyöntien kanssa
printf ("[%-10s]\n" , $s ); // Tasaus vasemmalle välilyönnillä
printf ("[%010s]\n" , $s ); // nollatäyte toimii myös merkkijonojen kanssa
printf ("[%"#10s]\n" , $s ); // käytä omaa täydentävää #-merkkiäsi
printf ("[%10.10s]\n" , $t ); // Tasaus vasemmalle 10 merkin rajauksella
?>

PHP sprintf -toiminnon avulla voit muuntaa ja sovittaa useita argumentteja yhdeksi merkkijonoksi. Muotoilumääritteiden avulla voit työskennellä merkkien, merkkijonojen, kokonaislukujen ja reaalilukujen kanssa.

Toimintoa käytetään taulukkotietojen muotoiluun ja mallien luomiseen. Sitä voidaan käyttää lähdetietojen alustavaan formalisointiin tietyssä rakenteessa, muuttamalla niiden sisältöä tai järjestystä.

PHP sprintf() -funktion syntaksi

Toiminnon tulos on merkkijono, joka on muodostettu tietyssä järjestyksessä tietystä tiedosta, funktion parametreista:

  • muoto merkkijono;
  • luettelo argumenteista.

Muotoilussa voit käyttää mitä tahansa suunnittelua ja logiikkaa, mukaan lukien HTML-tunnisteet. Vaikka sprintf:n käytölle ei ole rajoituksia, PHP-käsikirja määrittelee muunnosmääritykset enemmän numeeristen tietojen suuntaan.

Muoto-elementti alkaa %-merkillä ja päättyy tarkennemerkkiin. Suurin osa muotoiluominaisuuksista on numeeristen tietojen alueella. Kyky muuntaa luku binääri- ja heksadesimaalimuotoon on erittäin käytännöllinen. Tässä PHP:n sprintf-funktiota tuskin kannattaa kirjoittaa korvaajaksi.

Yllä oleva esimerkki korostaa argumenttien nimeämissääntöjä ja määritteen x erottamista X:stä. Viittausten oikea käyttö muotoiltujen argumenttien sarjaan on tärkeää oikean tuloksen kannalta. Numerointi alkaa aina 1:stä.

Linkkien käyttöjärjestyksellä ei ole väliä, mutta on tärkeää muistaa: PHP-funktio sprintf ottaa huomioon kaikki % elementit (argumenttinumeroa määrittelemättä) peräkkäin yleisessä listassa. Tietyillä parametrinumeroilla määritetyllä numerolla tai %-elementtien sarjalla ei ole mitään tekemistä yleislistan numeroinnin kanssa.

Kuvaus esimerkistä sprintf:n käytöstä PHP:ssä

Jos argumenttia ei ole suoraan mahdollista hallita merkkijonon muodossa, muotomerkkijonon hallinta ja digitaalisen tiedon tulostaminen tulosmerkkijonoon ei ole ongelma.

Esimerkin kahdella ensimmäisellä rivillä (argumenttien Arg1, Arg2c ja Arg2p tulos) ensimmäinen argumentti - merkkijono (paikan nimi) tulostetaan sellaisenaan. Kolmas argumentti vie ulostulossa 12 (14) merkkiä. Ensimmäinen rivi tasoittaa vasemmalla olevaa numeroa nollalla, jolloin kokonaispituus on 12 merkkiä. Pisteen jälkeen on neljä merkkiä. Toinen rivi tasoittaa oikealla olevan numeron (murto-osa) 14 merkkiin. Merkki, jonka mukaan sinun on linjattava oikealle, on -symboli.

Muotomerkkijono on tavallinen merkkijono. Voit lisätä siihen laskettuja lausekkeita. Tässä tapauksessa lisäyksiä ($cL) ja ($cR) käytetään korostamaan toinen numero. Tämä teki muotomerkkijonosta selkeämmän ja helpommin kirjoitettavan kaikissa esimerkeissä.

Luodaan muotomerkkijono

PHP:n työ venäjäksi eli sprintf-funktio on tulkin työtä luonnollisessa ja kätevässä ympäristössä. Itse asiassa HTML-sivu, jossa on PHP-koodin lisäyksiä, edustaa mitä tahansa kontekstia millä tahansa kielellä. Tämä ei ole se vapaus, jonka JavaScript tarjoaa selainympäristössä.

Venäläisen sisällön tuottamiseksi PHP:llä sinun ei tarvitse koodata kyrillistä, mutta joskus sinun on käytettävä iconv()-muunnosfunktiota. Joka tapauksessa kaikki on saatavilla ja luettavissa.

Teksti PHP-koodin lisäämiseksi HTML-sivulle on selkeää ja asiaankuuluvaa. Käyttö merkkijonossa:

Muuttujan arvon ABC=($ABC) yksikköä

Lisäyksellä ($ABC) on merkitystä vain kerran ja se suoritetaan vain kerran.

PHP-koodin suorittamisen ominaisuudet sivulla

Tulkki vain kerran katselee sivua ja vain kerran korvaa lisäosat ($ABC) niiden arvoilla. Ohjelmoija voi harkintansa mukaan käyttää ilmausta "vain kerran" pakottaa PHP toistuvasti lähestymään haluttua tulosta.

Joka tapauksessa, kun HTML-sivu on lähetetty selaimeen, siinä ei ole PHP-koodia.

Jos selaimen sivuelementti ottaa yhteyden palvelimeen, se voi käynnistää uuden PHP-skriptin. Tässä lisäykset ($ABC) ovat hyvin suhteellisia, eikä ole mitään takeita oikeasta tuloksesta. Mutta sprintf:n käyttö PHP:ssä on tällaisen mahdollisuuden dynamiikka.

Kehittäjä ei voi vain saada tällaisen lisäyksen haluttua suoritusta, vaan myös muuttaa riviä, johon se siirtää halutun arvon.

Sisällön muodostumisen hetki

PHP:n potentiaalin käyttäminen keinona lisätä lisäyksiä HTML-sivulle, työkaluna koko sivun luomiseen on luonnollista. Tästä sivusto alkaa. Heti kun sivu on muodostettu ja vierailija todella tulee sivustolle, nykyaikaisten ideoiden mukaan:

  • sivua ei voi muuttaa;
  • ikävä käyttäjää Sama se on kiellettyä.

Itse asiassa vierailija tuli sivustolle ja sai ensimmäisen vastauksen HTML-koodin muodossa. On täysin väärin muuttaa tätä vastausta - se tarkoittaa vierailijalle kertomista, että sivu muuttaa sitä. Mutta sivun on vastattava vierailijan toimintaan riittävästi ja hänen aloitteestaan.

Vierailijan saapuminen on ensimmäinen vastaus. Vierailijan toiminta on sivun riittävä reaktio ja sen valmistautuminen kaikkiin vierailijan odotettavissa oleviin tuleviin toimiin.

Merkittävä osa vastuusta sivun dynamiikasta vierailijan aloitteesta kuuluu JavaScriptille, mutta se toimii vain selaimessa ja voi lähettää vain AJAX-pyyntöjä palvelimelle. Jokainen kutsu palvelimelle voi käynnistää PHP-skriptin. Mutta sivun muodostushetki ja pyyntöön vastaamisen hetki eroavat merkittävästi.

PHP sprintf -toiminto on ihanteellinen työkalu vastausmallin dynaamiseen luomiseen ja sen täyttämiseen halutulla arvolla.

PHP-koodin vaihtaminen ajon aikana

Ajatus koodidynamiikasta syntyi yhdessä ensimmäisen ohjelmointikielen kanssa ja on nykyään läsnä jokaisessa nykyaikaisessa ohjelmointikielessä.

Koodin suorittamista evalin (koodirivin) kautta pidetään nykyään tietoturva-aukkona, mutta se on yhtä suosittua kuin vaarallistakin.

Jos haluat muuttaa koodia ajon aikana, sinun ei tarvitse käyttää eval()-funktiota tänään. Tämä on enemmän nopea aamiainen, yhden tai kahden komennon suorittaminen, eikä käytännöllinen perusta halutun dynamiikan rakentamiselle.

PHP sprintf() -funktion avulla voit suunnitella komentosarjamallin, esimerkiksi objektikoodin, jota kutsutaan, kun tietty vierailijatoiminto tapahtuu. Vakiintunut käytäntö tallentaa esineiden kappaleita itsenäisten tiedostojen muodossa on ihanteellinen ratkaisu niiden muuttamiseen sivuston käytön aikana.

Käyttämällä työkaluja, jotka täydentävät sprintf()-funktiota, voit paitsi muuttaa tietyn vierailijan toimien seurauksena käytettyjä objekteja, myös siirtää tämän dynamiikan toimimaan muiden vierailijoiden kanssa: tämä on sivusto, sen toiminnallisuuden dynamiikka, työkokemuksen ja tiedon kertyminen.

varten muotoiltu tulos PHP:llä Käytössä on kaksi hienoa ominaisuutta: printf() Ja sprintf(). Heillä on melko paljon ominaisuuksia, joista keskustelemme tässä artikkelissa.

Sanon heti, että ero printf() Ja sprintf() vain, että ensimmäinen tulostaa merkkijonon suoraan lähtövirtaan (esimerkiksi selaimeen) ja toinen palauttaa sen.

Funktioparametri on merkkijono, jolla on merkkejä, joissa on %, joita kutsutaan määritteiksi, Ja merkkejä ilman %, joita kutsutaan direktiiveiksi. Ohjeet pysyvät ennallaan muotoiltaessa, mutta määrittely johtaa muiden funktioparametrien korvaamiseen (muotoilurivin jälkeen).

On olemassa useita määrityksiä, jotka on yhdistetty yhdeksi ryhmäksi (yksi yhteinen % ), jonka järjestys on seuraava:

  1. Pehmusteen määrittäjä. Voit täyttää merkkijonon tiettyyn kokoon tietyllä merkillä. Oletuksena tämä merkki on välilyönti.
  2. Kohdistuksen määrittäjä. Tämän määritteen avulla voit asettaa rivin tasauksen oikealle (oletuksena) tai vasemmalle (jos määrität " - ").
  3. Minimileveyden määrittäjä. Jos tuloksen merkkijonon pituus on lyhyempi, se täytetään merkillä täyttömäärityksestä määritettyyn leveyteen.
  4. Tarkkuusmäärittäjä. Voit määrittää, kuinka monta desimaalipistettä liukulukulle jätetään.
  5. Tyypin määrittäjä. Tämä määritys määrittää tulostettavan tiedon tyypin. Niitä on 8, mutta käytännössä käytetään seuraavia:
    • c- kokonaisluku desimaalimuodossa.
    • , mutta käyttää isoa kirjainta (esimerkiksi 1,2E+2).- liukuluku desimaalimuodossa.
    • o- linja.

Katsotaanpa klassikkoa esimerkki muotoillun päivämäärän tulostamiseen:

$vuosi = 2012;
$kuukausi = 9;
$päivä = 28;
printf("Kirjoituspäivämäärä: %02d.%02d.%04d", $päivä, $kuukausi, $vuosi);
?>

Ei ole vaikea arvata, että tulos on seuraava rivi: " Artikkelin kirjoituspäivämäärä: 28.09.2012". Huomaa kuinka monta määritteiden ryhmää, niin monta parametria lähetetään itse muodon lisäksi. Merkkijono " Artikkelin kirjoituspäivämäärä:" on ohje, ja se pysyy ennallaan. Katsotaan nyt esimerkkinä toista määrittäjien ryhmää, joka vastaa kuukaudesta. Muut ryhmät ovat täysin identtisiä.

  • %
  • 0 - merkki, jolla määritetty parametri täytetään vaadittuun leveyteen.
  • 2 - minimileveys. Vastaavasti, jos rivin pituus on pienempi, se täytetään 0 .
  • c- tulostetaan kokonaislukuna. Jos laitat esim. , joka määrittää, kuinka argumentin tietotyyppiä käsitellään. Kelvolliset tyypit:(toinen tyyppimäärite), silloin sama numero näytetään, mutta binäärimuodossa.

Annan sinulle toisen suositun esimerkki printf-funktion (ja sprintf()) käytöstä liittyy pyöristysnumeroihin:

$x = 12,596123;
printf("%06.2f", $x); // "012.60" tulee näkyviin
?>

Katsotaanpa funktion ensimmäistä argumenttia printf():

  • % - määritysryhmän alku.
  • 0 - merkki täytettäväksi vaadittuun pituuteen.
  • 6 - vaadittu pituus (kärki sisältyy tietysti myös tähän pituuteen).
  • .2 - tarkkuus jopa 2 desimaalit.
  • , mutta käyttää isoa kirjainta (esimerkiksi 1,2E+2).- liukulukutyyppi. Itse asiassa pyöristäminen on järkevää vain tälle tyypille.

Kuten näet, printf()- ja sprintf()-funktiot helpottaa näennäisesti varsin monimutkaisten ongelmien ratkaisemista. Siksi sinun on ehdottomasti oltava ne arsenaalissasi.

merkkijono sprintf(merkkijonomuoto [, sekoitetut arkit])

Palauttaa merkkijonon, joka on luotu käyttämällä muotomerkkijonomuotoa.

Muotomerkkijono koostuu direktiiveistä: tavalliset merkit (paitsi %), jotka kopioidaan tulosmerkkijonoon, ja muunnoskuvaajat , joista jokainen korvataan jollakin parametreistä. Tämä koskee myös fprintf() , sprintf() Ja printf() .

Jokainen konversiomäärittäjä koostuu prosenttimerkistä (%), jota seuraa yksi tai useampi lisäelementti (tässä järjestyksessä):

    Valinnainen pehmusteen määrittäjä , joka määrittää millä merkillä tulos täytetään vaaditun pituiseksi. Tämä voi olla välilyönti tai 0. Oletusasetus on välilyönti.

    Valinnainen ). Vaihtoehtoinen merkki voidaan määrittää " . Katso esimerkkejä alla.

    , joka määrittää kohdistuksen vasemmalle tai oikealle. Oletuksena se on tasattu oikealle, - käytetään kohdistukseen vasemmalle. käytetään vasempaan kohdistukseen. Valinnainen numero

    Valinnainen leveyden määrittäjä , joka määrittää merkkien vähimmäismäärän, jonka tämän muunnoksen tulos sisältää. , joka määrittää, kuinka monta desimaalipistettä liukulukuissa näytetään. Merkittävä vain numeeriselle tietotyypille kellua . (Numeroiden muotoiluun on myös kätevää käyttää toimintoa .)

  1. tarkkuuskuvaaja numero_muoto()

    , joka määrittää, kuinka argumentin tietotyyppiä käsitellään. Kelvolliset tyypit:
    % on prosenttisymboli. Argumenttia ei käytetä.
    b - argumenttia käsitellään kokonaislukuna ja tulostetaan binäärilukuna.
    c - argumenttia käsitellään kokonaislukuna ja tulostetaan merkinä vastaavan ASCII-koodin kanssa.
    d - argumenttia käsitellään kokonaislukuna ja tulostetaan etumerkittynä desimaalilukuna. , joka määrittää, kuinka monta desimaalipistettä liukulukuissa näytetään. Merkittävä vain numeeriselle tietotyypille e - argumentti tulkitaan seuraavasti
    ja tulostetaan tieteellisellä merkinnällä (esim. 1.2e+2).
    u - argumenttia käsitellään kokonaislukuna ja tulostetaan etumerkittömänä desimaalilukuna. , joka määrittää, kuinka monta desimaalipistettä liukulukuissa näytetään. Merkittävä vain numeeriselle tietotyypille f - argumentti tulkitaan seuraavasti
    ja tulostetaan desimaalilukuna.
    o - argumenttia käsitellään kokonaislukuna ja tulostetaan oktaalilukuna.
    s - argumenttia käsitellään merkkijonona.
    x - argumenttia käsitellään kokonaislukuna ja tulostetaan heksadesimaalilukuna (pienin kirjaimin).

X - argumenttia käsitellään kokonaislukuna ja tulostetaan heksadesimaalilukuna (isoilla kirjaimilla).


PHP 4.0.6:sta lähtien muotomerkkijono tukee parametrien numerointia ja uudelleenjärjestämistä. Esimerkiksi:

Tämä koodi tulostaa "Puussa on 5 apinaa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti:

Esimerkki 2: Parametrien järjestyksen muuttaminen

?>
On ongelma: muunnosmääritysten järjestys ei vastaa argumenttien järjestystä. Emme halua muuttaa koodia, ja meidän on määritettävä, mikä argumentti vastaa mitäkin konversiomääritteitä.

Esimerkki 3: Parametrien järjestyksen muuttaminen

Tämä koodi tulostaa "5 apinaa istuu puussa". Kuvittele nyt, että muotomerkkijono on erillisessä tiedostossa, joka sitten käännetään toiselle kielelle, ja kirjoitamme sen uudelleen seuraavasti: "%2\$s sisältää %1\$d apinaa";
printf ($muoto, $numero, $sijainti);
?>
Argumenttien numeroinnilla on toinenkin käyttötarkoitus: sen avulla voit tulostaa saman argumentin useita kertoja ilman, että funktiolle välitetään lisäparametreja.