(PHP 5 >= 5.3.0, PHP 7, PHP 8)
parse_ini_string — Разбирает строку конфигурации
$ini_string
, bool $process_sections
= false
, int $scanner_mode
= INI_SCANNER_NORMAL
): array|false
parse_ini_string() возвращает настройки из строки
ini_string
в виде ассоциативного массива.
Структура INI-строки такая же, как и в php.ini.
ini_string
Содержимое разбираемого INI-файла.
process_sections
Установив в параметр process_sections
true
, можно получить многомерный массив, который включает
названия секций и настроек. По умолчанию
process_sections
равен false
scanner_mode
Может принимать следующие значения: INI_SCANNER_NORMAL
(по умолчанию) или INI_SCANNER_RAW
. Если
указано значение INI_SCANNER_RAW
, то
значения опций не будут обрабатываться.
С PHP 5.6.1 также доступен режим INI_SCANNER_TYPED
.
В этом режиме типы boolean, null и integer сохраняются, если возможно.
Строковые значения "true"
, "on"
и "yes"
преобразуются в true
, а значения "false"
, "off"
, "no"
и "none"
— в false
. Значение "null"
преобразовывается в null
.
Кроме этого, числовые строки преобразуются в целые числа, если возможно.
В случае успешного выполнения, настройки возвращаются в виде ассоциативного
массива (array). В случае возникновения ошибки, возвращается false
.
Замечание: Существует зарезервированные слова, которые нельзя использовать в качестве ключей в ini-файлах. Такими словами являются:
null
,yes
,no
,true
,false
,on
,off
,none
. Значенияnull
,off
,no
иfalse
преобразуются в""
, а значенияon
,yes
иtrue
в"1"
, но только если не используется режимINI_SCANNER_TYPED
(доступен с PHP 5.6.1). Символы?{}|&~!()^"
не должны использоваться в ключах и иметь какой-либо особый смысл в значениях.