INI-файл: различать (int) 1 и логическое значение

Я сейчас пользуюсь ini формат для файлов конфигурации. Мне действительно нравится этот формат без каких-либо технических причин. У меня довольно много проблем с разграничением 1 а также (bool)true, К сожалению, независимо от того, что я оцениваю, true, yes, on — когда я анализирую файл в PHP, все они преобразуются в (string) "1", Это проблема для меня, потому что я создаю графический интерфейс для редактирования конфигурации. файлы и для того, чтобы сделать все это красиво и красиво, я хочу иметь boolean значения будут boolean ценности и int значения будут int ценности.

По сути то, что я спрашиваю, — как я могу превратить это ini файл

bool = true
int = 1

В этот объект PHP (на самом деле массив)

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

Вместо того, что я получаю

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

Я пытаюсь избежать написания своего собственного парсера, потому что нельзя просто написать лучший парсер, чем парни из PHP.net

2

Решение

Согласно документам для parse_ini_string, с 5.6.1 прохождения INI_SCANNER_TYPED по возможности сохранит тип настройки (int, bool и т. д.).

Пример: https://3v4l.org/EkLhs#v561

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]