好的,所以我明白在 PHP 的世界中——以及一般的编程水平——序数值规则。所以一个数字就像在 PHP 函数中生成时一样18
简单地返回。18
这对我来说很有意义。默认情况下,以10 为底的数字通常不会得到左0
填充。
但随之而来的是base_convert
, dechex
& decbin
。其中每个都具有以下格式,其中返回一个字符串:
字符串base_convert (字符串$number , int $frombase , int $tobase )
字符串十进制 ( int $number )
字符串decbin ( int $number )
这是有道理的,因为像这样的值在 PHP 中不是序数:
ord
13
变成十六进制d
ord
32
变成bin100000
现在这些在技术上是正确的值。但是对我来说没有意义的是为什么每个返回的值都没有像这样的填充,这对我来说似乎更易于阅读:
ord
13
变成十六进制0d
ord
32
变成bin00100000
关于为什么没有通过, &0
生成的二进制和十六进制数字的左填充选项,我是否缺少一些逻辑原因?base_convert
dechex
decbin
在我看来,可以在每个函数的界面中添加一个简单的填充选项?可能像true
/一样简单,false
选项可能类似于str_pad
. 还是由于添加此类选项会产生潜在的格式化兔子洞的复杂性而故意取消了此类选项?意思是,“只是使用,str_pad
因为这些是字符串而不是序数,所以你可以随意使用它。”</p>