溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

格式化文本,PHP printf更專業(yè)

發(fā)布時(shí)間:2024-10-28 14:32:05 來源:億速云 閱讀:80 作者:小樊 欄目:編程語言

在 PHP 中,使用 sprintf 函數(shù)可以格式化字符串,它允許你定義輸出字符串的格式。sprintf 函數(shù)的語法如下:

sprintf(format, [arg1 [, arg2 [, ...]]] )

其中 format 是格式化字符串,arg1, arg2, ... 是要插入到格式化字符串中的參數(shù)。

下面是一些使用 sprintf 的示例:

示例 1:基本格式化

$name = "John";
$age = 30;
$message = sprintf("My name is %s and I am %d years old.", $name, $age);
echo $message;  // 輸出: My name is John and I am 30 years old.

示例 2:帶多個(gè)參數(shù)的格式化

$name = "John";
$age = 30;
$score = 85;
$message = sprintf("My name is %s, I am %d years old, and I scored %d in the exam.", $name, $age, $score);
echo $message;  // 輸出: My name is John, I am 30 years old, and I scored 85 in the exam.

示例 3:使用占位符和轉(zhuǎn)換說明符

$name = "John";
$age = 30;
$message = sprintf("My name is %1$s, I am %2$d years old.", $name, $age);
echo $message;  // 輸出: My name is John, I am 30 years old. 注意:數(shù)字的順序與參數(shù)的順序相反。

在上面的示例中,%1$s 表示第一個(gè)參數(shù)應(yīng)該被轉(zhuǎn)換為一個(gè)字符串,%2$d 表示第二個(gè)參數(shù)應(yīng)該被轉(zhuǎn)換為一個(gè)整數(shù)。數(shù)字表示參數(shù)的順序。

示例 4:使用對齊和寬度

$data = [
    ['John', 30],
    ['Jane', 28],
    ['Doe', 35]
];
$max_name_length = max(strlen($name) for $name in array_column($data, 0));
$max_age_length = max(strlen($age) for $age in array_column($data, 1));

foreach ($data as $entry) {
    $message = sprintf("%-*s | %-*d", $max_name_length, $entry[0], $max_age_length, $entry[1]);
    echo $message . PHP_EOL;
}

輸出:

John        | 30
Jane        | 28
Doe         | 35

注意:%-*s%-*d 中的 - 表示左對齊,* 表示使用最小寬度,sd 分別表示字符串和整數(shù)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI