【问题标题】:Converting a CSV list into an array将 CSV 列表转换为数组
【发布时间】:2014-09-19 17:54:39
【问题描述】:

我有一个 csv 列表变量,我正在尝试使用 array_map 将其转换为数组,但由于某种原因,它一直给我以下错误:

Warning: array_map(): Argument #2 should be an array in

$list1 = 1,7,15,16,18,18;
$shortArray = array_map('str_getcsv', $list1);
$var_dump($shortArray);

有谁知道如何让它工作,或者有其他方法可以将 csv 列表转换为数组吗?

我使用的是 php 5.5.0。

【问题讨论】:

    标签: arrays php-5.5


    【解决方案1】:
    $list1 = array(1,7,15,16,18,18);
    $shortArray = array_map('str_getcsv', $list1);
    var_dump($shortArray);
    

    【讨论】:

    • 感谢您的回复,但我只是注意到我在哪里遇到了问题,以及为什么它不起作用。该列表作为以下代码中的字符串出现: $list1 = implode(',', array_column($query, 'num'));并且由于某种原因,当它出现在字符串中时,这些代码都不起作用。但是,如果我像您那样手动放入它可以正常工作,为什么它不起作用?
    【解决方案2】:
    $list1 = "1,7,15,16,18,18"; // or the line from your CVS file
    $shortArray = explode(",", $list1);
    var_dump($shortArray);
    

    【讨论】: