Heim > Fragen und Antworten > Hauptteil
Verschachtelt foreach, durchlaufen Sie zuerst die entsprechende Detailliste unter dem entsprechenden Dokument basierend auf der Dokument-ID (billId), z. B. $v2 = '00001' und '00002', und dann basierend auf den erhaltenen detaillierten Daten (z. B. gibt es). 50 Datensätze unter 00001, 00002 Es gibt 60 Datensätze unter 00002) und die Tabelle wird ausgegeben, aber das Ergebnis sind immer 60 Datensätze unter 00002. Wie kann man die Ergebnisse der beiden Durchläufe miteinander verbinden?
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;
黄舟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;