我剛剛在前一天回答了一個類似的問題,因此可能是重複的。在任何情況下,如果這可以幫助別人,這裏有雲:
function process_response($str)
{
$data = array();
$x = explode("&", $str);
foreach($x as $val)
{
$y = explode("=", $val);
preg_match_all('/^([^\d]+)(\d+)/', $y[0], $match);
if (isset($match[1][0]))
{
$text = $match[1][0];
$num = $match[2][0];
$data[$num][$text] = urldecode($y[1]);
}
else
{
$text = $y[0];
// $data[$text] = urldecode($y[1]);
}
}
return $data;
}
只需從捲曲通話將檢測結果送入到這一點,並把結果作爲一個格式化的陣列。
注意註釋掉的行,有一些字段是全局的,比如版本,如果你想要這些,取消註釋,但是你可能不得不調整一些格式化代碼。
至於如何使用這樣的一個例子,說你要這個送入PHPExcel對象,你可以這樣做,像這樣:
$response = your_curl_call($request);
$data = process_response($response);
$index = 1;
foreach($data as $row)
{
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$index, $row['L_TIMESTAMP'])
->setCellValue('B'.$index, $row['L_TIMEZONE'])
->setCellValue('C'.$index, $row['L_TYPE'])
->setCellValue('D'.$index, $row['L_EMAIL'])
->setCellValue('E'.$index, $row['L_NAME'])
->setCellValue('F'.$index, $row['L_TRANSACTIONID'])
->setCellValue('G'.$index, $row['L_STATUS'])
->setCellValue('H'.$index, $row['L_AMT'])
->setCellValue('I'.$index, $row['L_CURRENCYCODE'])
->setCellValue('J'.$index, $row['L_FEEAMT'])
->setCellValue('K'.$index, $row['L_NETAMT']);
$index++;
}
'的foreach($數組作爲$鍵=> $值)' ? – NullUserException