Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Variabele aanvullen [PHP]

sanchises
7 antwoorden
  • Stel ik heb een willekeurige variabele van 1 tot 9999. Nu wil ik dat de variabele altijd uit 4 cijfers bestaat, desnoods voorafgegaan met nullen. Ik wil dus dat bijv het getal 15 verandert in 0015. Is hier een standaard PHP functie voor of moet ik deze zelf scripten? (opzich best te doen, maar een standaard functie is overzichtelijker)
  • printf
    wimb
  • wat heb ik daaraan??? ik wil van een variabele een nieuwe variabele maken, ik wil niets direct outputten.
  • [quote:32d786247d="sanchises"]wat heb ik daaraan??? ik wil van een variabele een nieuwe variabele maken, ik wil niets direct outputten.[/quote:32d786247d]
    Kom op, een beetje eigen initiatief kan geen kwaad. Het kostte me welgeteld 5 seconden om door te klikken naar sprintf(), waar ik vervolgens het volgende lees:[quote:32d786247d][b:32d786247d]Return Values[/b:32d786247d]
    Returns a string produced according to the formatting string [i:32d786247d]format[/i:32d786247d] .[/quote:32d786247d]

    - Bas
  • Ja sorry, ik had niet helemaal goed gekeken :oops: maar ik snap de sprintf-pagina ook niet…. hoe zou het er dan uit moeten zien?
    [code:1:543ca09bb3]
    $int = 15
    $var = $sprintf("wat moet hier dan?" , $int)
    echo $var
    //dit zou dan 0015 geven.
    [/code:1:543ca09bb3]
    In mijn echte programma ga ik dit opslaan in een database, dus is het geen optie om printf te doen. (voordat jullie met z'n allen gaan zeggen dat ik wél printf met gebruiken)
  • Volgens mij moet dit werken:[code:1:6bece71688]$s = 15; // eventueel casten van int naar string
    $format = "%04s"; // voorloopnullen, 4 breed
    $var = sprintf($format, $s);
    echo $var; // dit zou dan 0015 geven
    [/code:1:6bece71688]
    Gebaseerd op "Example #6", niet getest.

    Overigens werken printf() en sprintf() exact hetzelfde, behalve dat eerstgenoemde het gelijk naar het scherm stuurt terwijl laatstgenoemde het als string-waarde retourneert.

    Is het overigens niet logischer om het aanvullen in dit geval in de database te laten doen?

    - Bas
  • Kijk, en zo heb ook ik weer wat geleerd, ik kende de hele functie(s) nog niet :-)

    Maar zijdelings vraagje: Wil je echt geformatteerde data in je database? Persoonlijk probeer ik de data in een database altijd zoveel mogelijk "ruw" te houden en het formaat pas bij output naar de website te regelen. Zo houd ik de data meer flexibel voor verder gebruik.
    Maar ja, misschien is dat ook wel weer niet de juiste aanpak, vandaar dat ik er nieuwsgierig naar ben ;-)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.