Home >Backend Development >PHP Tutorial >php在数字前面补0失去固定长度数字的两种方法

php在数字前面补0失去固定长度数字的两种方法

WBOY
WBOYOriginal
2016-06-13 11:56:451540browse

php在数字前面补0得到固定长度数字的两种方法

比较基础,其实两个内置函数都能实现。

1  sprintf

语法: string sprintf(string format, mixed [args]...);

返回值: 字符串

函数种类: 资料处理

本函数用来将字符串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了

  1. 填空字符。0 的话表示空格填 0;空格是默认值,表示空格就放着。
  2. 对齐方式。默认值为向右对齐,负号表向左对齐。
  3. 字段宽度。为最小宽度。
  4. 精确度。指在小数点后的浮点数位数。
  5. 类型,见下表
    % 印出百分比符号,不转换。
    b 整数转成二进位。
    c 整数转成对应的 ASCII 字符。
    d 整数转成十进位。
    f 倍精确度数字转成浮点数。
    o 整数转成八进位。
    s 整数转成字符串。
    x 整数转成小写十六进位。
    X 整数转成大写十六进位。

$number = 21365478 ;

$number = sprintf("%09d",$number);

echo $number."
";

?>

 

2 str_pad

语法:

<code>string str_pad (string input, int pad_length [, string pad_string [, int pad_type]])

说明:

此函式填塞到字串參數 input的左邊、右邊或是左邊及右邊,成為指定的填塞長度。如果沒有提供非必需選項 pad_string,則使用空白將參數 input填塞,否則,它會使用 pad_string填塞到指定的長度

非必需選項 pad_type可以是STR_PAD_RIGHTSTR_PAD_LEFT或是STR_PAD_BOTH,如果沒有指定 pad_type,則假定為 STR_PAD_RIGHT

如果 pad_length的值是負數或是小於輸入字串的長度時,則不會填塞

$input = "Alien";
echo str_pad($input, 10)."
";                      // produces "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT)."
";  // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH)."
";   // produces "__Alien___"
echo str_pad($input, 6 , "___")."
"; 

?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn