使用PHP将CSV值解析为映射

Jam*_*ton 1 php arrays key map

如果我的文本文件是

Jack Jones;batter;100;
Bobby Brown;bowler;90;
Run Code Online (Sandbox Code Playgroud)

我知道如何让他们进入一个数组,但我如何让他们进入一个数组与键?例如,在我读取文本文件后,我的数组将是 -

$player1 = ('name' => 'Jack Jones', 'skill' => 'batter', 'points' => '100');
$player2 = ('name' => 'Bobby Brown', 'skill' => 'bowler', 'points' => '90');

// therefore -
echo $player1['name'];  #This would output the name 'Jack Jones'
Run Code Online (Sandbox Code Playgroud)

oez*_*ezi 6

你不能直接,因为文本文件中没有关于列名的信息.但如果你知道如何得到这个:

$player = (0 => 'Jack Jones', 1 => 'batter', 2 => '100');
Run Code Online (Sandbox Code Playgroud)

并且列名是固定的,您可以设置包含键的第二个数组:

$column_names = array('name','skill','points');
Run Code Online (Sandbox Code Playgroud)

然后使用array_combine获得所需的结果:

$player = array_combine($column_names, $player);
echo $player['name'];  // 'Jack Jones'
Run Code Online (Sandbox Code Playgroud)