php二维数组中按某个元素的值排序
<?phpforeach($a['list']as$k=>$v){?><li><aclass="l"href="<?phpecho$v['surl'];?>"><imgs...
<?php foreach($a['list'] as $k => $v){?>
<li>
<a class="l" href="<?php echo $v['surl'];?>">
<img src="<?php echo $v['app_logo'];?>" border="0" alt="<?php echo $v['app_title'];?>">
</a>
<dl class="l">
<dt>
<a href="<?php echo $v['surl'];?>" class="l"><?php echo $v['app_title'];?></a>
<span class="l versions">(<?php echo $v['app_version'];?>)</span>
<div class="l level"><span class="<?php echo "l".ceil($v['app_recomment']/2); ?>"></span></div>
</dt>
<dd>
<?php echo $v['app_desc']; ?>
</dd>
<dd>
<span class="mr25"><?php echo date("Y-m-d",$v['app_update_time']);?> 发布</span>
</dd>
</dl>
<div class="r">
<span class="down-icon"></span>
<span class="down-num"><?php echo $v['app_down'];?></span>
<a href="<?php echo $v['surl'] ?>" class="down-i-btn">免费下载</a>
</div>
我想按app_down的数值进行降序应该怎么改? 展开
<li>
<a class="l" href="<?php echo $v['surl'];?>">
<img src="<?php echo $v['app_logo'];?>" border="0" alt="<?php echo $v['app_title'];?>">
</a>
<dl class="l">
<dt>
<a href="<?php echo $v['surl'];?>" class="l"><?php echo $v['app_title'];?></a>
<span class="l versions">(<?php echo $v['app_version'];?>)</span>
<div class="l level"><span class="<?php echo "l".ceil($v['app_recomment']/2); ?>"></span></div>
</dt>
<dd>
<?php echo $v['app_desc']; ?>
</dd>
<dd>
<span class="mr25"><?php echo date("Y-m-d",$v['app_update_time']);?> 发布</span>
</dd>
</dl>
<div class="r">
<span class="down-icon"></span>
<span class="down-num"><?php echo $v['app_down'];?></span>
<a href="<?php echo $v['surl'] ?>" class="down-i-btn">免费下载</a>
</div>
我想按app_down的数值进行降序应该怎么改? 展开
1个回答
展开全部
//提供一个方法
class lib_BaseUtils{
static $s_field;
static $s_sc;
/**
* php 二维数组按键值排序
* @param array $a 需要排序的数组
* @param string $sort 排序的键值
* @param string $d 默认ASC,带上参后为DESC
* @return boolean
*/
static function array_sort(&$a, $sort, $d='') {
self::$s_field = $sort;
self::$s_sc = $d;
usort($a, array("lib_BaseUtils","array_sort_callback"));
return $a;
}
//排序回调方法 请勿删除
static function array_sort_callback($a, $b) {
$s_a = self::$s_sc ? $b : $a;
$s_b = self::$s_sc ? $a : $b;
$field = self::$s_field;
switch (true){
case (is_string($s_a[$field]) && is_string($s_b[$field])):
return strcmp($s_a[$field], $s_b[$field]);
break;
default:
if($s_a[$field]== $s_b[$field]){
return 0;
}else{
return $s_a[$field]>$s_b[$field]?-1:1;
}
}
}
}
调用方法
lib_BaseUtils::array_sort($lists, 'app_down','desc');
追问
调用的代码应该放在那里?求指教
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询