PHP。我有三个阵列,每个阵列有50个项目:$ articles,$ quotes,$ links。每个数组中的每个项目都有一行内容和日期。
目标是创建一个数组,按日期排序(从最新到最旧),根据数组类型的重要性进行权重。例如,它应该总是显示比引号更多的文章,以及比链接更多的引用。例如:
文章,文章,文章,引用,文章,链接,文章,文章,引用,文章,文章,报价,文章,链接。
有没有简单的方法可以做到这一点?谢谢!
答案 0 :(得分:1)
您可以利用mod运算符。
$result = array();
$i = 0;
$count = 0;
while( true ) {
$i++;
$result[] = array_pop( $articles );
if (++$count >= 50) break; // 50 items is enough
if ( $i % 3 == 0 ) { // one quote every 3 articles
$result[] = array_pop( $quotes );
if (++$count >= 50) break;
}
if ( $i % 5 == 0 ) // one link every 5 articles
$result[] = array_pop( $links );
if (++$count >= 50) break;
}
}
答案 1 :(得分:0)
嗯...对于误导,我认为你想根据日期对元素进行排序,如果基于重要性这是相等的:/