Понимание возврата с помощью цикла FOREACH - PullRequest
1 голос
/ 08 марта 2012

У меня есть для каждого цикла, который перебирает массив данных -

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 Ответ

1 голос
/ 08 марта 2012
        $response[] = array('CorrelationId'=>$pid,
                    'Messages'=> array('Has been added.')
        );

и, когда цикл завершается, перезапускаем его.

        return $response;

Разница в том, что теперь $ response является массивом массивов.Это то, что вы искали?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...