您的问题有点不清楚,这是 csv 吗?你可以这样格式化:Sample Output
$name=["Boxname,X1,X2,Y1,Y2,PID,GENDER,AGE,Bp_Systolic,Bp_Diastolic,X-Value,Y-Value", "Boxname:HH, X1:53.3, X2:106.6, Y1:33.300000000000004,Y2:59.947215189873425, PID:22, GENDER:MALE, Age:63,Bp_Systolic:120,Bp_Diastolic:80", "Boxname:HH, X1:53.3, X2:106.6, Y1:33.300000000000004,Y2:59.947215189873425, PID:27, GENDER:FEMALE, Age:56,Bp_Systolic:110,Bp_Diastolic:70"];
// get the headers (keys)
$headers = explode(',',array_shift($name));
$headers = array_splice($headers, 0, 10);
$data = array();
foreach($name as $info) {
// explode by comma, then explode the headers inside the values
$temp = array_map(function($piece){
return explode(':', $piece)[1];
}, explode(',', $info));
$data[] = array_combine($headers, $temp); // combine the headers (keys) to the values
}
echo '<pre>';
print_r($data);
这个输出:
Array
(
[0] => Array
(
[Boxname] => HH
[X1] => 53.3
[X2] => 106.6
[Y1] => 33.300000000000004
[Y2] => 59.947215189873425
[PID] => 22
[GENDER] => MALE
[AGE] => 63
[Bp_Systolic] => 120
[Bp_Diastolic] => 80
)
[1] => Array
(
[Boxname] => HH
[X1] => 53.3
[X2] => 106.6
[Y1] => 33.300000000000004
[Y2] => 59.947215189873425
[PID] => 27
[GENDER] => FEMALE
[AGE] => 56
[Bp_Systolic] => 110
[Bp_Diastolic] => 70
)
)
如果您想要 csv 文件中的数据,那么只需使用 fputcsv() 函数:
$fp = fopen('your_csv_file.csv', 'w');
foreach($name as $fields) {
$fields = explode(',', $fields);
fputcsv($fp, $fields);
}
注意:你必须有写权限。