sprintf là bạn của bạn, nếu bạn phải có đầu ra chiều rộng cố định không phải HTML.
ETA:
//id: integer, max width 10
//code: string max width 2
$divider=sprintf("+%-10s+%-13s+",'-','-');
$lines[]=$divider;
$lines[]=sprintf("|%10s|%13s|",'id','countryCode'); //header
$lines[]=$divider;
while($line=$records->fetch_assoc()) {
//store the formatted output
$lines[]=sprintf("| %10u | %2.2s |", $line['id'],$line['code']);
}
$table=implode("\n",$lines);
echo $table;
Nếu bạn muốn in ra ngay lập tức thay vì lưu trữ kết quả, hãy sử dụng printf
thay vào đó- cùng một cú pháp. Có một (các) hướng dẫn printf PHP hợp lý tại đây .