php ini создает массивы с помощью parse_ini_file

Можно ли создать массив с файлом настроек?

В файле index.php он читает файл .ini:

// Parse config file
$settings = parse_ini_file("settings");

Например. Файл настроек выглядит так:

[States]
east = "Michigan, New York, Minnesota"

Хотите создать массив следующим образом:

array('Michigan', 'New York', 'Minnesota')

person chrisjlee    schedule 26.06.2012    source источник
comment
Это именно то, что возвращает parse_ini_file(): ассоциативный массив. См. здесь: php.net/manual/en/function.parse-ini -file.php   -  person Jonathan M    schedule 26.06.2012
comment
Вы хотите создать массив, который выглядит так: ("Michigan", "Alaska", "Minnesota")?   -  person Jonathan M    schedule 26.06.2012
comment
@JonathanM да, я пытаюсь создать массив, который выглядит как (Мичиган, Аляска, Миннесота)   -  person chrisjlee    schedule 26.06.2012
comment
@chrisjlee, мой ответ сделает это за вас - функция взрыва принимает строку с разделителями и преобразует ее в массив   -  person Lusitanian    schedule 26.06.2012
comment
Крис: есть ли шанс, что вы могли бы изменить принятый ответ, чтобы другие (например, я) искали этот вопрос?   -  person Simon East    schedule 11.06.2014


Ответы (2)


Он возвращает ассоциативный массив. Затем, чтобы проанализировать восточные штаты в массив, вы можете сделать: $eastStates = explode(', ', $ini['States']['east']); если ваши данные действительно в формате, который вы описали. Обратите внимание, что вы можете создавать настоящие массивы в формате ini, см. документацию.

person Lusitanian    schedule 26.06.2012
comment
Для ОП: жители Аляски (а также жители других перечисленных штатов) будут рады узнать, что они на восточном побережье. :) Может быть, мы продаем Аляску России? - person Jonathan M; 26.06.2012

Правильный способ создать массив в вашем ini-файле — использовать скобки:

[States]
east[] = Michigan
east[] = New York
east[] = Minnesota

Вы можете увидеть пример в документации для parse_ini_file():

person Wesley Murch    schedule 15.10.2012