如何按特定顺序打乱记录??


How to shuffle record in particular order???

我在一个网站上工作,那里有两种类型的优惠,热门优惠和最佳优惠。我有5个热门报价和5个最佳报价。首先会有1个热门报价,然后会有一个最佳报价,依此类推。现在,在1次刷新后,第一个热门报价应该取代第二个热门报价、第二个sholud取代第三个热点报价、第三个应该取代第四个、第四个应取代第五个热门报价和第五个热点报价应该取代第一个热点报价。这也应该是最好的报价。

它就像

第一个热门报价

第一个最佳报价

第二次热门报价

第二优惠

第五次热门报价

第五名最佳报价

刷新后应该是…

第五次热门报价

第五大优惠

首次热门报价

第一个最佳报价

第四次热门报价

第四优惠

请帮帮我。我做这件事太麻烦了。

这是您要查找的函数:

http://php.net/manual/en/function.usort.php

您可以定义您的排序条件,以便使用usort对阵列进行排序。

由于我不清楚您的上下文,我只假设:

  1. 您已经有2个阵列存储热门产品和最佳产品
  2. 这两个数组已经按照"热门"answers"最佳"进行了排序

所以,

// Normally, print hot offers and best offers 1 by 1,
// starting from the first offers.
for ($i = 0; $i < count($i); $i++) {
    echo $hotOffer[$i] . "<br />";
    echo $bestOffer[$i] . "<br />";
}
// In the case of shuffling, print the last offers first,
// then start printing from the second offers to the second last offers.
$lastRecord = count($i)-1;
echo $hotOffer[$lastRecord] . "<br />";
echo $bestOffer[$lastRecord] . "<br />";
for ($i = 1; $i < $lastRecord; $i++) {
    echo $hotOffer[$i] . "<br />";
    echo $bestOffer[$i] . "<br />";
}