php数组应用之比较两个时间的相减排序

$kkk = custom_tuijian("2008-08-15",date("Y-m-d"));
//echo date("Y-m-d");
//print_r($kkk);

function custom_tuijian($a,$b)
{
$sql = "select `r`.*,`a`.`articlename`,`a`.`author`
from `phpsir_record1` `r` inner join `jieqi_article_article` `a`
on `r`.`bookid` = `a`.`articleid` where `r`.`rdate` = '$a' ";
$res = mysql_query($sql);
$sql2 = "select `r`.*,`a`.`articlename`,`a`.`author`
from `phpsir_record1` `r` inner join `jieqi_article_article` `a`
on `r`.`bookid` = `a`.`articleid` where `r`.`rdate` = '$b' ";
$res2 = mysql_query($sql2);
while($row = mysql_fetch_assoc($res))
{
$row2 = mysql_fetch_assoc($res2);
$calnum = calnum($row,$row2);
$a_a[$row['bookid']] = $calnum;
$x[$row['bookid']] = array($row["articlename"],$row["author"],$row["bookid"]);
}
arsort($a_a);
foreach($a_a as $k=>$v)
{

$kk[] = array($x[$k][0],$x[$k][1],$x[$k][2],$v);
}

return $kk;
}
function calnum($r1,$r2)
{
// 公式 点击/100+推荐*2+收藏+鲜花*10+月票*10
return ($r2['clicknum'] - $r1['clicknum']) / 100 + ($r2['shoucangnum'] - $r1['shoucangnum'])
+ ($r2['xianhuanum'] - $r1['xianhuanum']) * 10 + ($r2['yuepiaonum'] - $r1['yuepiaonum']) * 10 ;
}
//数据调用方法
for($ii=0; $ii<100; $ii++){
    $bookid=$kkk[$ii][2];
    $ml=floor($bookid/1000);
    echo "<a href='http://www.kanshule.com/files/article/info/".$ml."/".$bookid.".htm'>".$kkk[$ii][0]."</a>";
    }

(0)

相关推荐

  • PHP中数组合并的两种方法及区别介绍

    PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码 代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的 复制代码 代码如下: <?php $c = array_merge($a, $b); var_ex

  • php比较多维数组中值的大小排序实现代码

    如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了.如果要截取数组,可用array_slice(). 如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引. 复制代码 代码如下: function cmp($a, $b){ if ($a["vote_num"] == $b[&q

  • PHP 数组和字符串互相转换实现方法

    复制代码 代码如下: $array=explode(separator,$string); $string=implode(glue,$array); 使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系.当把一个数组转换成一个字符串时,将会设置胶合符--将被插入到生成字符串中的数组值之间的字符或代码. 相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素.例如,以字符串开始: $s1='Mon-Tue-Wed-Thu-Fri'; $da

  • php数组操作之键名比较与差集、交集赋值的方法

    本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) {   if($key1==$key2)         //如果两参数相等   return 0;          //返回0  

  • php usort 使用用户自定义的比较函数对二维数组中的值进行排序

    今天发现一个很好用二维数组排序的php方法,usort,推荐给大家,以后二维数组里面,要按照一个字段的值排序用这个方法简单高效,例如下面的数组: [guess_subject] => Array ( [0] => Array ( [subject_id] => 4587 [game_id] => 9228 [parent_category_id] => 78 [subject_title] => 全场比赛两队总得分之和是 [subject_date_time] =>

  • PHP自定义函数实现数组比较功能示例

    本文实例讲述了PHP自定义函数实现数组比较功能.分享给大家供大家参考,具体如下: <?php //数组使用标准比较运算符这样比较的 function standard_array_compare($op1,$op2) { if(count($op1) < count($op2)) { return -1; //$op1 < $op2 } else if(count($op1) > count($op1)) { return 1; //$op1 > op2 } foreach

  • php获取数组长度的方法(有实例)

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数count(),或是sizeof()例如: 复制代码 代码如下: $arr = Array('0','1','2','3','4'); echo count($arr);// 输出 5$arr = array('A','B','C');echo sizeof($arr);//输出3 sizeof()和

  • php数组比较实现查找连续数的方法

    本文实例讲述了php数组比较实现查找连续数的方法.分享给大家供大家参考.具体如下: $data = array(); $data[]= array("01" ,"02", "18" , "29" , "31" , "32"); $data[]= array("02" ,"09", "11" , "22" ,

  • PHP遍历数组的方法汇总

    今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一.foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. <?php $urls= array('aaa','bbb','ccc','ddd'); foreach ($urls as $url){ echo "This Site url is $url! <br />"; } ?> 显示结果: This Site url i

  • php数组添加元素方法小结

    本文较为详细的总结了php数组添加元素方法.分享给大家供大家参考.具体分析如下: 如果我们是一维数组增加数组元素我们可以使用ArrayListay_push,当然除这种方法之外我们还有更直接的办法,这里就来给大家整理一下. 一维数组增加元素 $ArrayList = ArrayListay(); Array_push($ArrayList, el1, el2 ... eln); 但其实有一种更直接方便的做法,代码如下: $ArrayList = ArrayListay(); $ArrayList

随机推荐