1. 数字は0で埋められます。
学生番号や特定の番号を、このように「d0000009」または「d0000027」の形式で自動的に生成したい場合は、左側に 0 を埋めてそのような番号を形成する方法が問題になります。 8桁のコード 毛織物?この機能を実現するために 2 つの方法を考えました。
方法 1:
まず数値 10000000、数千万、つまり 1、7 のゼロを作成し、次に現在の数値 (たとえば、3) を追加すると、10000003 が得られます。文字列を使用して substr('10000003', 1,7) 次に、0000003 を取得し、最後に「d」で結合して、最終番号 d0000003 を取得します。
ソースコードは次のとおりです:
コードをコピーします コードは次のとおりです:
$num = 3;
$temp_num = 10000000;
$new_num = $num + $ temp_num;
$real_num = "d ".substr($new_num,1,7); //最初の「1」がインターセプトされます
echo $real_num;
?>
方法 2:
現在の数値の長さを測定します (例: 3) strlen('3')=1、生成される数値の全長から現在の数値の長さを減算し、生成する必要がある 0 の数を取得します。を入力し、for ループを使用して 0 を入力します。つまり、Can です。
ソースコードは次のとおりです:
コードをコピーします コードは次のとおりです:
$num = 3;
$bit = 7;//7桁の数値を生成します
$num_len = strlen($ num);
$zero = '';
for($i=$num_len; $i<$bit; $i++){
$zero .= "0";
}
$real_num = "d".$zero .$num;
echo $real_num;
?>
方法 3: 他のいくつかの方法
コードをコピーします コードは次のとおりです:
$sourceNumber = "1";
$newNumber = substr(strval($sourceNumber+1000),1,3);
echo "$newNumber ";
?>
/*次のように表示されます: 001
桁数を増やしたい場合は、1000 を増やし、さらに 3 も増やすことができます。
例: 03行目に「ゼロを4つ」追加したい場合は次のようになります。 */
コードをコピーします コードは次のとおりです:
$newNumber = substr(strval($sourceNumber+100000),1,5);
?>
/*実際には、表示される合計の数値です。桁の場合は、$sourceNumber+1 の後に 0 をたくさん追加するだけで、最後の数値が直接変更されて複数の桁が表示されます。 */
コードをコピー コードは次のとおりです:
/*string str_pad ( string $input, int $pad_length [, string $pad_string [, int $pad_type]] )*/
$input = "エイリアン";
echo str_pad($input, 10);
// "エイリアン" を生成します
echo str_pad($input, 10, "-=, STR_PAD_LEFT);
// "-=-=" を生成します-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);
// "__Alien___" を生成します
echo str_pad($input, 6 , "___");
// "Alien_" を生成します
?> ;
/ *パッド文字列を使用してパディングします。STR_PAD_LEFT の場合は、左側がパディングされます。次回は str_pad を使用してください。結局のところ、組み込みなので、カスタムよりも確実に高速になります。 */
コードをコピーします コードは次のとおりです:
/*
上記の方法はあまり良くないと思います。私が書いた方法を紹介しましょう。メソッドの関数は以下の通りなので、結果001が欲しい場合は、メソッド:dispRepair('1',3,'0')
関数:補数関数
str:元の文字列
type:type、0は補数、1はPrependingとなります。
len: 新しい文字列長
msg: パディング文字
*/
function dispRepair($str,$len,$msg,$type='1') {
$length = $len - strlen($str );
if ($length if ($type == 1) {
$str = str_repeat($msg,$length).$str;
} else {
$str .= str_repeat ($msg, $length);
}
return $str;
}
2. 文字列の入力、オートコンプリート、オートコンプリート
特定の長さの文字列を出力する必要がある場合、次の 2 つの方法を使用して、PHP 文字列を自動的に埋めて完成させることができます。
方法 1:
コードをコピーします コードは次のとおりです:
$newStr= sprintf('%05s', $str);
sprintf() の関数は非常に柔軟です。上記のフォーマット文字列では、「%05s」は出力が長さ 5 の文字列になることを意味します。長さが不十分な場合は、左側がゼロで埋められます。 「%5s」と書かれている場合、デフォルトでスペース補完になります。補完に他の文字を使用したい場合は、文字の前に一重引用符を追加する必要があります。つまり、「%'#5s」のようなものは、次の文字で補完することを意味します。最後に、文字列内で補完を行う場合は、パーセント記号の後にマイナス記号「%-05s」を追加します。
方法 2:
[コード]$cd_no = str_pad(++$next_cd_no,8,'#',STR_PAD_LEFT);
str_pad(string,length,pad_string,pad_type): 具体的な使用方法についてはマニュアルを参照してください。
文字列は必須です。埋める文字列を指定します。
長さは必須です。新しい文字列の長さを指定します。値が元の文字列の長さより小さい場合、操作は実行されません。
pad_string オプション。パディングに使用する文字列を指定します。デフォルトは空白です。
pad_type オプション。パディング文字列の側を指定します。
これら 2 つのメソッドは、PHP 文字列の自動補完機能を簡単に実装します。
http://www.bkjia.com/PHPjc/768144.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/768144.html技術記事 1. 番号に 0 を加えます。このように「d0000009」または「d0000027」という形式で学籍番号または特定の番号を自動的に生成したい場合は、左側の使い方が問題になります。 .