ini文件:区分(int)1和boolean

时间:2014-09-26 23:33:40

标签: php ini

我目前正在使用ini格式的配置文件。实际上,我真的很喜欢这种格式,没有任何技术原因。我在区分1(bool)true时遇到了一些麻烦。遗憾的是,无论我将什么作为一个值 - trueyeson - 当我将文件解析为PHP时,它们都会转换为(string) "1"。这对我来说是个问题,因为我正在构建一个用于编辑配置的GUI。我希望boolean值为booleanint值为int值。

基本上我要问的是 - 如何转换此ini文件

bool = true
int = 1

进入这个PHP对象(实际上是数组)

Array (
    ['bool'] => (bool) true
    ['int'] => (int) 1
)

而不是我得到的

Array (
    ['bool'] => (string) "1"
    ['int'] => (string) "1"
)

我正在努力避免编写自己的解析器,因为一个人不只是编写一个比来自PHP.net的人更好的解析器

1 个答案:

答案 0 :(得分:0)

根据parse_ini_string的文档,从5.6.1开始,传递INI_SCANNER_TYPED将尽可能保留设置类型(int,bool等)。

示例:https://3v4l.org/EkLhs#v561