你好这个程序来创建一个新闻阵列链
public function getNewsChain(&$chain, $itemID,$langID, $direction="prev") {
$langID = $this->db->lngPatch($langID);
$where = ($direction == "prev") ? "n.ID='$itemID'" : "ln.Rif='$itemID'";
$qr = "SELECT n.ID, n.idSS, n.Data_News AS startDate, n.evento AS event, n.Data_Fine AS endDate, n.rifGeog,
ln.Titolo, ln.Corpo, ln.Link AS link, ln.Pretitolo, ln.sottoTitolo, ln.Immagine, ln.Rif, ln.idLng
FROM news n LEFT JOIN lngnews ln ON n.ID=ln.idNews
WHERE $where AND ln.idLng='$langID'";
if ($rs = $this->db->exQ($qr,$this->src, true, false)) {
$row = $this->db->fetch($rs['RS']);
$chain[$row['ID']] = array("itemID"=>$row['ID'],
"langID"=>$this->db->lngPatchRev($row['idLng']),
"ssID"=>$row['idSS'],
"startDate"=>$row['startDate'],
"event"=>$row['event'],
"endDate"=>$row['endDate'],
"title"=>$row['Titolo'],
"body"=>$row['Corpo'],
"link"=>$row['link'],
"pretitle"=>$row['Pretitolo'],
"subtitle"=>$row['sottoTitolo'],
"geoRefer"=>$row['rifGeog'],
"image"=>$row['Immagine'],
"rif"=>$row['Rif']);
if ($row['Rif'] != 0) {
$this->getNewsChain($chain, $row['Rif'],$row['idLng'], "prev");
} else {
$chain = array_reverse($chain);
$this->getNewsChain($chain, $chain[count($chain)-1]['itemID'], $row['idLng'], "next");
}
} else {
if ($row['Rif'] != 0) {
$this->getNewsChain($chain, $row['ID'], $row['idLng'], "next");
}
}
}
}
此过程返回正确的数组但使用重置键。 如何保存索引呢?
答案 0 :(得分:2)
答案 1 :(得分:1)
答案 2 :(得分:1)
array_reverse($chain); --> array_reverse($chain, true);