php ini 使用 parse_ini_file 创建数组

Posted

技术标签:

【中文标题】php ini 使用 parse_ini_file 创建数组【英文标题】:php ini creating arrays with parse_ini_file 【发布时间】:2012-06-28 03:26:17 【问题描述】:

是否可以使用设置文件创建数组?

index.php 文件中,它读取.ini 文件:

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

例如设置文件如下所示:

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

希望像这样创建一个数组:

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

【问题讨论】:

这正是parse_ini_file() 返回的内容:关联数组。见这里:php.net/manual/en/function.parse-ini-file.php 您是否要创建一个类似于:("Michigan", "Alaska", "Minnesota") 的数组? @JonathanM 是的,我正在尝试创建一个看起来像(密歇根州,阿拉斯加州,明尼苏达州)的数组 @chrisjlee,我的回答会为你解决这个问题——explode 函数接受一个带分隔符的字符串并将其转换为一个数组 克里斯:您是否有机会更改已接受的答案,以便其他人(如我)查找此问题? 【参考方案1】:

在 ini 文件中创建数组的正确方法是使用括号:

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

你可以在documentation for parse_ini_file()看到一个例子:

【讨论】:

【参考方案2】:

它返回一个关联数组。然后,要将东部各州解析为数组,您可以执行以下操作: $eastStates = explode(', ', $ini['States']['east']); 如果您的数据确实是您描述的格式。请注意,您可以创建 ini 格式的真实数组,请参阅the documentation。

【讨论】:

对于 OP:阿拉斯加人(以及其他列出的州)会很高兴知道他们在东海岸。 :) 也许我们要把阿拉斯加卖给俄罗斯?

以上是关于php ini 使用 parse_ini_file 创建数组的主要内容,如果未能解决你的问题,请参考以下文章

PHP的parse_ini_file()函数,解释结构类型php.ini格式的文件

PHP读取配置文件连接MySQL数据库

parse_ini_file()函数

PHP:转义 .ini 文件中的非法字符

PHP解析ini文件支持多维数组解析

为啥使用 dotenv 库而不是解析 ini 文件?