如何在 PHP 整数中保留前导零 [重复]

Posted

技术标签:

【中文标题】如何在 PHP 整数中保留前导零 [重复]【英文标题】:How to keep leading zeros in PHP integer [duplicate] 【发布时间】:2013-08-11 11:48:06 【问题描述】:

我正在使用 api,需要将 ClientID 作为整数传递给它。问题是某些 ID 以前导 0 开头。当我将整数传递给 API 时……php 正在切断前导零,这使得 ClientID 不准确。我尝试将 ID 作为字符串传递以保留零,但 API 需要一个整数。

示例:当我将 ClientID = 00061423 传递给 API 时,它会缩短为 61423,导致请求失败,因为它找不到该客户端。

有没有办法让 PHP 在整数上保留前导零?

【问题讨论】:

见here 你在说什么API?它使用的接口是什么?这个拒绝字符串的故事对我来说听起来很奇怪 PHP 不做类型检查; API 使用什么技术? @YourCommonSense,你是对的。文档说它必须是 (int) 类型,但是当我将它传递给它时,它工作得很好。我想我应该先尝试一下显而易见的。顺便说一句,它是 mindbodyonline API,它使用 SOAP。 如果 API 确实 (a) 需要一个整数,并且 (b) 需要它有前导零,那么 API 就有问题。 【参考方案1】:

您不能在 整数 中保留前导零。您可以在输出时将它们保存在 stringadd 中,使用 sprintf()str_pad() 等。

【讨论】:

【参考方案2】:

将其作为字符串传递;零将被保留。

【讨论】:

他在上面说他试过了,API 需要一个 int PHP 不进行类型检查。那应该可以。 感谢大家。我只是给它传递了一个字符串,它就起作用了。文档不准确。 @Jnatalzia 我的回答有效。支持我的回答。 如果 API 对 0006142361423 的考虑不同,那么它显然不是整数! +1【参考方案3】:

使用 str_pad

str_pad($var, $numZeroesToAppend, '0', STR_PAD_LEFT)

【讨论】:

以上是关于如何在 PHP 整数中保留前导零 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在C中保持前导零[重复]

PHP MySQL PDO:如何保留 zerofill int 列的前导零

如何在 Netezza SQL 中用前导零填充整数

导出为 CSV 时,如何在列中保留前导零?

如何在java中获取带有前导零的整数中的位数?

如何在 Rust 中使用前导零打印 2 位浮点数的整数部分?