我有一个如下所示的字符串:
Name,Age,Location
Jo,28,London
Run Code Online (Sandbox Code Playgroud)
我如何将其转换为关联数组,因此它如下所示:
Array
(
[Name] => Jo
[Age] => 28
[Location] => London
)
Run Code Online (Sandbox Code Playgroud)
我试图爆炸字符串并以这种方式操纵它,但没有得到快速($body = explode(',', $body);)我试图使用array_map()但它预计首先是一个数组.
我查看了一些文章(PHP CSV到带行标题的关联数组),但他们再次使用array_map().
你试图过度设计简单的事情,这会导致浪费太多时间完成任务.
$str = "Name,Age,Location\nJo,28,London";
$lines = explode("\n", $str);
$keys = explode(',', $lines[0]);
$vals = explode(',', $lines[1]);
$result = array_combine($keys, $vals);
Run Code Online (Sandbox Code Playgroud)
但是即使是普通的循环也可以解决你的问题,除非你有更好的想法,否则这应该是最终的结果:
$result = [];
for($i=0; $i<count($keys); $i++) {
$result[$keys[$i]] = $vals[$i];
}
Run Code Online (Sandbox Code Playgroud)