2015-02-09 46 views

回答

0

只需使用decbin功能:

$i=1 
echo "00".decbin($i); //outputs 0001 
0

您可以使用decbin()功能與str_pad()功能做到這一點。通過使用硬編碼前導0str_pad()版本,您可以選擇控制輸出的長度,隨時通過操縱第二個參數來擴展或減少輸出。

$num = 1; 
$len = 4; 
echo str_pad(decbin($num), $len, "0", STR_PAD_LEFT); 
+0

我需要發送這個數據到其他機器監聽端口,所以輸出應該是二進制不是字符串。 – 2015-02-09 15:26:43

+0

@SanjayChauhan您可以嘗試使用['base_convert()'](http://php.net/manual/en/function.base-convert.php)將十進制(base10)字符串的值更改爲二進制base2)號碼。這將消除領先的'0',儘管它聽起來不像你想要的。據我所知,我不認爲你可以在PHP中「填充」一個數字,而不用將其格式化爲字符串。默認情況下,PHP將去除這些'0'。我可能是錯的,但我從來沒有聽說過。 – War10ck 2015-02-09 15:34:03