我认为这是初学者的问题。 我找不到这个例子,尽管这可能反映出我太天真了,不知道要寻找什么。
如果我有一个字符串(逗号可以是任何其他字符):
58732,hc_p0d
58737,hc_p4
58742,hc_p4a
(新行使用“ \ r \ n”)
如何将其拆分为多维数组(在这种情况下为2X3,但行数可以变化。)
我认为这是我想要的形式(但是如果不合适,请提出更好的方法!)
array(
array(58732,hc_p0d),
array(58737,hc_p4),
array(58742,hc_p4a),
)
我最近得到的是使用$ vars = explode(“ \ r \ n”,$ input); var看起来像这样(在cakephp中):
(int) 0 => '58732,hc_p0d',
(int) 1 => '58737,hc_p4',
(int) 2 => '58742,hc_p4a',
(int) 3 => '58747,hc_p4b',
谢谢
答案 0 :(得分:0)
如果要将CSV数据转换为数组格式,可以通过这种方式完成
$csv = array_map('str_getcsv', file('data.csv'));
查看此参考资料以获取进一步的解释 http://php.net/manual/en/function.str-getcsv.php
如果它不是来自文件而是包含CSV数据的字符串,则可以这样做
$data = $csv_data;
$csv_data_rows = explode('\r\n',$data);
$final_array = array();
foreach($csv_data_rows as $key => $value){
$final_array[$key] = explode(',',$value);
}
return $final_array;