public function setParm($parameter, $value) {$this->parameter[$parameter] = $value;return $this;}function geturl($type){ $this->setproductparm($type); return $this->getData(); } private function setproductparm($urltype){ $this->parameter=array(); $this->type=""; $this->setParm("Marketplace",self::marketplaceId); $this->version="2009-01-01"; switch ($urltype){ case "RequestReport": $this->setParm("Action","RequestReport"); $this->setParm("ReportType","_GET_MERCHANT_LISTINGS_DATA_"); break; case "GetReportList": $this->setParm("Action","GetReportList"); $this->setParm("ReportRequestIdList.Id.1",$this->ReportRequestId); break; case "GetReport": $this->setParm("Action","GetReport"); $this->setParm("ReportId",$this->ReportId); break; } }
$url1=$aa->geturl("RequestReport");
$url2=$aa->geturl("GetReportList");
$url3=$aa->geturl("GetReport");
我明明每次執行前都清除了數組
$this->parameter=array();
但輸出時,每次數組都包含了上次所賦的值。
每次結果:
$url1:ReportType=_GET_MERCHANT_LISTINGS_DATA_
$url2:ReportType=_GET_MERCHANT_LISTINGS_DATA_&ReportRequestIdList.Id.1=123456
$url3:ReportType=_GET_MERCHANT_LISTINGS_DATA_&ReportRequestIdList.Id.1=123456&ReportId=123456
請問是哪裡的問題啊???
回複討論(解決方案)
你沒有給出 getData 的定義,不好說
//看看是不是下面的方法哪裡處理了getData();