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();