首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP str_pad 函式完整指南:字串填充與對齊實戰

     編輯:PHP 綜合知識

函式原型

string str_pad(string $input, int $pad_length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT)

參數說明

參數說明
$input要填充的原始字串
$pad_length目標總長度;若小於原字串長度則不處理
$pad_string填充字元(可為多字元),預設為空白
$pad_type填充方向:STR_PAD_RIGHT(預設)、STR_PAD_LEFT、STR_PAD_BOTH

常數值對照

  • STR_PAD_RIGHT:右側填充(預設)
  • STR_PAD_LEFT:左側填充
  • STR_PAD_BOTH:兩側填充,無法平均分配時右側多補一個

實戰範例

範例 1:右側填充點號

$str = "Hello World";
echo str_pad($str, 20, "."); 
// 輸出:Hello World.........

範例 2:左側填充點號

$str = "Hello World";
echo str_pad($str, 20, ".", STR_PAD_LEFT); 
// 輸出:.........Hello World

範例 3:兩側填充多字元模式

$str = "Hello World";
echo str_pad($str, 20, ".:", STR_PAD_BOTH); 
// 輸出:.:.:Hello World.:.:.

進階應用:數字補零、表格對齊

// 訂單編號補零:ORD-000123
$orderId = 123;
echo 'ORD-' . str_pad($orderId, 6, '0', STR_PAD_LEFT);

// CLI 表格欄位對齊
printf("%-20s %10s\n", 'Product', 'Price');
foreach ($products as $p) {
    printf("%-20s %10s\n", $p['name'], str_pad($p['price'], 10, ' ', STR_PAD_LEFT));
}

注意事項

  • $pad_string 為多字元時,會重複截取以達到指定長度
  • 若 $pad_length < strlen($input),直接回傳原字串
  • 多位元組字元(中文等)按位元組計算長度,視覺寬度可能不符預期,需搭配 mb_strwidth 處理
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved