如何在 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】:您不能在 整数 中保留前导零。您可以在输出时将它们保存在 string 或 add 中,使用 sprintf()
、str_pad()
等。
【讨论】:
【参考方案2】:将其作为字符串传递;零将被保留。
【讨论】:
他在上面说他试过了,API 需要一个 int PHP 不进行类型检查。那应该可以。 感谢大家。我只是给它传递了一个字符串,它就起作用了。文档不准确。 @Jnatalzia 我的回答有效。支持我的回答。 如果 API 对00061423
和 61423
的考虑不同,那么它显然不是整数! +1【参考方案3】:
使用 str_pad
str_pad($var, $numZeroesToAppend, '0', STR_PAD_LEFT)
【讨论】:
以上是关于如何在 PHP 整数中保留前导零 [重复]的主要内容,如果未能解决你的问题,请参考以下文章