CSV到键=>;PHP中的值数组


CSV to key=>value array in PHP

我有一个简单的CSV格式:

Joe,2
Peter,321
Jane,34

我需要将其转换为键=>值数组,如下所示:

$result = array(Joe=>2,Peter=>321,Jane=>34)

我可以读取CSV文件,但不确定如何循环通过CSV的每一行来分配键和值。

非常感谢。

这里有一个便宜的一行代码:

$result = array_column(array_map('str_getcsv', file('data.csv')), 1, 0);

它利用了:

  • file()将文件读取到数组中,给出(为简洁起见,换行符被省略,它们无论如何都会在下一步中消失):

    ["Joe,2", "Peter,321", "Jane,34"]

  • array_map()str_getcsv()应用于该数组的每个元素,解析逗号分隔的值,给出:

    [['Joe', '2',], ['Peter', '321',], ['Jane', '34',]]

  • array_column()获取该数组,从子数组中获取索引1处的每个元素用作值,索引0处的元素用作键,得到最终结果:

[
    'Joe' => '2',
    'Peter' => '321',
    'Jane' => '34',
]