2012-07-19 57 views
3

感謝您的支持。 我有一個字符串,例如32個字符。對於第一,我想estabilish該字符串具有最多32個字符,我想添加空格字符,如果僅僅是,例如,9用空格填充字符串的其餘部分

實施例:

ABCDEFGHI ---> 9個字符

我想這一點:

ABCDEFGHI_ _ __ _ __ _ __ _ --- > 9個字符+自動添加23個空格。

謝謝

+0

[格式化用PHP前導零的一些(可能的重複http://stackoverflow.com/questions/1699958/formatting-a-number-with -leading-in-php) – 2016-12-06 15:53:48

回答

5

你正在尋找的功能是str_pad

http://php.net/manual/de/function.str-pad.php

$str = 'ABCDEFGHI'; 
$longstr = str_pad($str, 32); 

默認字符串墊已經是空白。

當你的最大長度應爲32,當該字符串的長度超過32個字符,你可能要縮短下來使用substr然後str_pad不會採取任何行動:

http://de.php.net/manual/de/function.substr.php

$result = substr($longstr, 0, 32); 

如果您的字符串長度恰好爲32個字符,則再次不會採取任何措施,因此現在您總是以$result結尾爲32個字符的字符串。

+0

謝謝大家,這是完整的解決方案。 – user1499315 2012-07-19 09:26:32

1

使用str_pad

str_pad('ABCDEFGHI', 32); 
-2
$str = "ABCDEFGHI"; 
for ($i = 0; $i < 23; $i++) { 
    $str .= "&nbsp;"; 
} 

這是你想要的嗎?

當看到其他評論時,那將是最好的解決方案。

+1

這是非常糟糕的... – 2012-07-19 09:06:13

1

使用str_pad功能:

$result = str_pad($input, 32, " "); 
1

你需要str_pad

$padded = str_pad($in,32,' '); 

您可以有向左或向右填充,選項噸,檢查他們全力以赴here

如果輸入超過32個字符,不採取任何行動,但這是一個易於執行的檢查:

if (strlen($padded) > 32) 
{ 
    throw new Exception($padded.' is too long');//or some other action 
} 
0

我不是PHP開發人員,但我認爲this是你想要的。

0
for($i=0;$i<(32-strlen($your_string));$i++) 
{ 
    $new_string.=$your_string.' ' 
} 

希望將有助於您

+0

非常好的方法,但是當有內置的方法,我們不應該嘗試定製設計的邏輯..我希望你明白了我的觀點.. – rummykhan 2015-11-15 01:48:23

相關問題