文字列があり、その内容は「24896」です。ここで、左側にゼロをいくつか追加したいので、試しました:
$test = str_pad($myString, 4, "0", STR_PAD_LEFT);
結果は再び「24896」となり、左側にゼロは追加されません。ここで何か不足していますか?
ありがとう!
文字列があり、その内容は「24896」です。ここで、左側にゼロをいくつか追加したいので、試しました:
$test = str_pad($myString, 4, "0", STR_PAD_LEFT);
結果は再び「24896」となり、左側にゼロは追加されません。ここで何か不足していますか?
ありがとう!
の 2 番目の引数str_pad()
は、最終的な文字列の完全な長さを取ります。4 を渡し、 の長さ$myString
が 5 であるため、何も起こりません。
例の値より少なくとも 1 大きい幅を選択する必要があります。たとえば、次のようになります。
str_pad($myString, 9, '0', STR_PAD_LEFT);
// "000024896"
アップデート
これは明らかかもしれませんが、何かの前に常に4つのゼロが必要な場合$myString
:
'0000' . $myString;
長さ 4 にパディングしていて、文字列の長さ24896
が 5 文字であるため、すでに 4 文字を超えているため、何もパディングする必要はありません。
関数の 2 番目のパラメーターはstr_pad
、文字列の新しい長さです。
試す
$myString = "24896" ;
$test = str_pad($myString, strlen($myString) + 4, "0", STR_PAD_LEFT);
echo $test;
出力
000024896
何個のゼロを追加しますか? パディングの長さが指定された $myString の長さよりも小さいため、ゼロは追加されません。
これをお試し下さい
$number = 24896;
$number = sprintf('%06d', $number);
echo $number;
またはこれを使用します
$number = 24896;
$number = str_pad($number, 6, '0', STR_PAD_LEFT);//here 6 is padding length
echo $number;
出力
024896
str_function で指定した長さが入力文字列よりも短くなっています ドキュメントを正しく読んでください これはうまくいくでしょう
あなたの文字列は 5 文字です。例: $myString=24896; ここで、左に 5 個のゼロを追加します
次に、長さは文字列 + 5 になり、実際は 5+5=10 になります。
これを関数に渡すと、関数は次のようになります
$test = str_pad($myString, 10, "0", STR_PAD_LEFT);
エコー $ テスト;
出力: 0000024896