搜尋

首頁  >  問答  >  主體

php - 嵌套foreach怎麼合併遍歷結果?

嵌套foreach,首先根據單據id(billId)遍歷出對應單據下對應的明細列表,例如$v2='00001'和'00002',然後根據得到的明細資料(例如00001下有50筆記錄,00002下方有60筆記錄),輸出表格,但是得到的結果總是00002下的60筆記錄,怎麼把兩次遍歷的結果拼接在一起呢?

foreach ($danju as $k2 => $v2){
    $url_mingxi="http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=$v2";
    $arr_mingxi=curl_get($url_mingxi,$cookie_jar,$UserAgent);

    foreach($arr_mingxi as $keys => $values){

    $html .= "<tr><td>{$arr_mingxi[$keys]['spbmhx']}</td><td>{$arr_mingxi[$keys]['pluCode']}</td><td>{$arr_mingxi[$keys]['pluName']}</td></tr>";    

    }    
}

echo $html;
我想大声告诉你我想大声告诉你2825 天前847

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-05-16 13:17:04

    在內層循環合併。具體就是去重合併

    回覆
    0
  • 黄舟

    黄舟2017-05-16 13:17:04

    建議你把內層程式碼封裝起來,然後再去輸出,參考下面程式碼

        function getData($id){
            $html = '';
    
            $url_mingxi="http://xxxx.xxxx.com/purOrder/getOrderDetailInfo.action?billId=". $id;
            $arr_mingxi=curl_get($url_mingxi,$cookie_jar,$UserAgent);
    
            if($arr_mingxi){
                foreach($arr_mingxi as $keys => $values){
                    $html .= "<tr><td>{$arr_mingxi[$keys]['spbmhx']}</td><td>{$arr_mingxi[$keys]['pluCode']}</td><td>{$arr_mingxi[$keys]['pluName']}</td></tr>";    
                }       
            }
            return $html;     
        }
    
        $rs = '';
        foreach ($danju as $k2 => $v2){
            $rs .= getData($v2);
        }
    
        echo $rs;

    回覆
    0
  • 取消回覆