Zeichen vor einem String setzen, z. B. führende Nullen

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Dienstag, 30. Oktober 2007 um 15:47 Uhr (44/2007 Kalenderwoche)

geändert: Mittwoch, 18. August 2010 um 13:47 Uhr (33/2010 Kalenderwoche)

Keywords: Nummerformat Zahlenformat vorsetzen nullen vorweg str_pad

Kategorien: PHP,

Text:

Diese Funktion setzt Zeichen vor einen String, um z. B. eine Zahl von 3 auf 003 zu ergänzen, oder Leerzeichen vor ein Wort zu setzen, abhängig von der Länge des Strings.

Quellcode:  

/**
 * @name       Funktion: vorweg_werte_ergaenzen()
 * @abstract   Diese Funktion setzt Zeichen vor einen String
 * @author     Ralf von der Mark <ralf@website-vdm.de>
 * @copyright  Copyright (c) 2007, Ralf von der Mark, www.WebSite-vdM.de
 * @version    Version vom 30.10.2007 um 15:25:41 Uhr
 * 
 * Function DocBlock:
 * @global  ---
 * @param   string, $wert,        = welcher Wert soll ergaenzt werden
 * @param   string, $stellen,     = wieviel Stellen soll der Wert nachher haben
 * @param   string, $wert_vorweg, = mit WAS soll der fehlende Platz aufgefuellt werden
 * @see     Diese Funktion wird in vielen Scripten aufgerufen.
 * @todo    keine noch offenen Aufgaben
 * @uses    innerhalb dieser Funktion werden keine weiteren Funktionen aufgerufen.
 * @return  zusammengebauter String
 * 
 * @example 1. Beispiel:
 * echo vorweg_werte_ergaenzen(22, 3);//ergibt: '022'
 *  * 
 * @example 2. Beispiel:
 * echo vorweg_werte_ergaenzen('txt', 5, '-');//ergibt: '--txt'
 * 
 * @example 3. Beispiel:
 * echo vorweg_werte_ergaenzen('txt', 5, chr(32));//ergibt: '  txt'
 * 
 * @example 4. Beispiel:
 * echo vorweg_werte_ergaenzen(22, 5, 8);//ergibt: '88822'
 * ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */
function vorweg_werte_ergaenzen($wert = 1, $stellen = 2, $wert_vorweg = '0')
{
    if (($anzahl_nullen = intval($stellen) - strlen($wert)) <= 0) {
        return $wert;
    } else {
        return str_pad($wert, $stellen, $wert_vorweg, STR_PAD_LEFT);
    }//ENDE: else ==> if()
}//ENDE: function vorne_Nullen_ergaenzen(...)