通过FOREACH循环了解返回

时间:2012-03-08 15:39:42

标签: php loops foreach

我有一个循环遍历数据数组的每个循环 -

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来处理响应,我似乎无法调整这些以帮助在循环之后帮助返回

1 个答案:

答案 0 :(得分:1)

        $response[] = array('CorrelationId'=>$pid,
                    'Messages'=> array('Has been added.')
        );

当循环结束时返回它。

        return $response;

不同之处在于现在$ response是一个数组数组。 那是你在找什么?