我有這個代碼:
$i = '0001';
$j = $i 1;
我想得到 0002 但它只給我 2 我怎樣才能加上 $i 并保留那個 000?
謝謝
uj5u.com熱心網友回復:
PHP 從 Perl 獲得了一個有用的特性:增加字串的能力,使用 . 不幸的是,它并沒有做得很好。如果你增加"A0001",你得到"A0002"; 但是如果你增加"0001",你會得到2(而不是原始的 Perl,它會給你"0002")。但是,你可以作弊:
$i="0001";
$j=":$a";
$j ;
$j=substr($j, 1);
這更多地是為了說明一個可能沒有多少人知道的很酷的事情,以及它是如何被錯誤實作的,而不是提供一個真正的解決方案;我絕對希望在我的代碼中看到一個str_pad或sprintf解決方案。
uj5u.com熱心網友回復:
您可以使用 str_pad 保留前導零。
代碼在這里,
<?php
$i = '0001';
$val = $i 1;
echo str_pad($val,4,"0",STR_PAD_LEFT); // 0001
?>
單擊以了解有關 str_pad 的更多資訊
uj5u.com熱心網友回復:
也許這可以給你一個想法:
$i = '0001';
$i = intval($i);
$i ;
$a = '000';
$result = $a.$i;
echo $result;
該.之間$a和$i被串聯變數轉換成字串,保留每個字符在其中。上面的代碼會輸出0002
在這里查看:http : //sandbox.onlinephpfunctions.com/code/fc2bd5861a6c0d937568b067e98e06977741019c
如果您想保留所有前導零,您可以單獨計算它們并像這樣增加它。當然,這是快速完成的事情,我 100% 肯定有更好的方法可以做到這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354224.html
上一篇:如何對作為變數子字串的數字求和?
