我有一个循环遍历数据的循环,我想要实现的是每个循环,数组在返回之前附加到另一个数组。
这是我到目前为止所拥有的 -
$response = array();
$response["CorrelationId"] = $correlationId;
此代码位于循环之外,因为我只想返回“CorrelationId”一次......这一切都很好......现在我想!
foreach ($products as $value){
$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']);
//Insert Product data into DB
$insert_product = "SQL Goes Here";
$insert_result = mysql_query($insert_product);
if(mysql_insert_id() > 0){
$response["Messages"] = array("$pid Has been added.");
}
}
return $response;
到目前为止,所有这一切都是将最后一个循环添加到数组中。如果我向循环发送2个数据,它将只有数组中的最后一个......
我错过了一些非常基本的东西吗?
如果我发送两个数据,我想要的是返回CorrelationId和2 [“Messages”]。
由于
答案 0 :(得分:2)
变化:
$response["Messages"] = "$pid Has been added.";
//To
$response["Messages"][] = "$pid Has been added.";
答案 1 :(得分:1)
那是因为你压倒$response["Messages"]
。你应该做(在循环内)
$response["Messages"][] ="$pid Has been added.";
并在循环之外
$response["Messages"] = array();