我有一个循环遍历数据数组的每个循环 -
foreach ($products as $value){
$product_id = $correlationId;
$pid = mysql_escape_string($value['ProductId']);
$dname = mysql_real_escape_string($value['departmentName']);
$cname = mysql_real_escape_string($value['categoryName']);
$pname = mysql_real_escape_string($value['productName']);
$price = mysql_real_escape_string($value['productPrice']);
$qty = mysql_real_escape_string($value['productQty']);
//Insert Product data into DB
$insert_product = "INSERT INTO product(department_name,category_name,product_name,product_price,product_qty)VALUES('$dname','$cname','$pname','$price','$qty')";
$insert_result = mysql_query($insert_product);
if(mysql_insert_id() > 0){
$response = array('CorrelationId'=>$pid,
'Messages'=> array('Has been added.')
);
return $response;
}
}
我真的在寻找信息,以便在不停止循环的情况下最好地返回$ response。我希望它返回数据然后继续循环然后返回数据然后继续循环。
目前它在第一次回归后停止,显然因为回归正在打破它?
有人可以为我解释一下吗?
由于
编辑 - 添加额外代码
//Create complex type for StringArray
$server->wsdl->addComplexType(
'StringArray',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')),
'xsd:string'
);
//Create complex type for AddProductResponce
$server->wsdl->addComplexType(
'AddProductResponse',
'complexType',
'struct',
'all',
'',
array(
'CorrelationId' => array('name'=>'CorrelationId','type'=>'xsd:string'),
'Messages' => array('name'=>'Messages','type'=>'tns:StringArray'),
)
);
我正在使用NUSAOP服务器并且使用complexTypes来处理响应,我似乎无法调整这些以帮助在循环之后帮助返回
答案 0 :(得分:1)
$response[] = array('CorrelationId'=>$pid,
'Messages'=> array('Has been added.')
);
当循环结束时返回它。
return $response;
不同之处在于现在$ response是一个数组数组。 那是你在找什么?