将PHP字符串转换为关联数组

pee*_*pee -1 php arrays

我有一个如下所示的字符串:

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().

Mar*_*ski 5

你试图过度设计简单的事情,这会导致浪费太多时间完成任务.

$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)

我还建议获取可用的内置阵列功能列表以获得未来的好处.