<?
$sql=$empire->query("select userid,username from {$dbtbpre}enewsmember where groupid=1 and checked=1");
while($ur=$empire->fetch($sql))
{
$num=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
echo $ur['userid'].$ur['username'].$num;
}
?>如何接照$num降序排序
$sql=$empire->query("select userid,username from {$dbtbpre}enewsmember where groupid=1 and checked=1");
while($ur=$empire->fetch($sql))
{
$num=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
echo $ur['userid'].$ur['username'].$num;
}
?>如何接照$num降序排序
while($ur=$empire->fetch($sql))
{
$num[]=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
}
arsort($num);
print_r($num);
$ur['userid'].$ur['username']
这两个信息怎么对应输出?
$arr = array();
while($ur=$empire->fetch($sql))
{
$arr['uid'][]=$ur['userid'];
$arr['name'][]=$ur['username'];
$arr['num'][]=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
}
arsort($arr['num']);
print_r($arr['num']);
<?php
$arr = array();
$arr['uid'][]=1;
$arr['uid'][]=2;
$arr['uid'][]=3;
$arr['uid'][]=4;
$arr['uid'][]=5;
$arr['uid'][]=6;
$arr['name'][]='a1';
$arr['name'][]='a2';
$arr['name'][]='a3';
$arr['name'][]='a4';
$arr['name'][]='a5';
$arr['name'][]='a6';
$arr['num'][]=5;
$arr['num'][]=50;
$arr['num'][]=60;
$arr['num'][]=10;
$arr['num'][]=66;
$arr['num'][]=44;arsort($arr['num']);
arsort($arr['name']);
arsort($arr['uid']);
echo '<pre>';
print_r($arr['num']);
echo '<pre>';
?>输出 时怎么按 $arr['num']排序后的输出?
$arr = array();
$arr['uid'][]=1;
$arr['uid'][]=2;
$arr['uid'][]=3;
$arr['uid'][]=4;
$arr['uid'][]=5;
$arr['uid'][]=6;
$arr['name'][]='a1';
$arr['name'][]='a2';
$arr['name'][]='a3';
$arr['name'][]='a4';
$arr['name'][]='a5';
$arr['name'][]='a6';
$arr['num'][]=5;
$arr['num'][]=50;
$arr['num'][]=60;
$arr['num'][]=10;
$arr['num'][]=66;
$arr['num'][]=44;
arsort($arr['num']);
$aa=array_keys($arr['num']);
for($i=0;$i<count($aa);$i++)
{
echo $arr['num'][$aa[$i]]."\r\n";
echo $arr['name'][$aa[$i]]."\r\n";
echo $arr['uid'][$aa[$i]]."\r\n";
}
?>这样应该可以吧
{
$num[]=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
$ar[]=array('userid'=>$ur['userid'],'username'=>$ur['username'],'num'=>$num);
}
array_multisort($num,SORT_DESC,$ar) ;
foreach($ar as $v) echo implode('',$v).'<br>';
$arr['uid'] = array(1,2,3,4,5,6);
$arr['name'] = array('a1','a2','a3','a4','a5','a6');
$arr['num'] = array(5,50,60,10,66,44);
asort($arr['num']);
$key = array_keys($arr['num']);
function sort_arr($key,$arr){
foreach($key as $ky){
foreach($arr as $k=>$val){
if($ky==$k)$tmp[]=$val;
}
}
return $tmp;
}
$arrName = sort_arr($key,$arr['name']);
$arrId = sort_arr($key,$arr['uid']);
print_r($key);echo "<br>";
print_r($arrName);echo "<br>";
print_r($arrId);echo "<br>";
#Array ( [0] => 0 [1] => 3 [2] => 5 [3] => 1 [4] => 2 [5] => 4 )
#Array ( [0] => a1 [1] => a4 [2] => a6 [3] => a2 [4] => a3 [5] => a5 )
#Array ( [0] => 1 [1] => 4 [2] => 6 [3] => 2 [4] => 3 [5] => 5 )
$arr['name'] = array('a1','a2','a3','a4','a5','a6');
$arr['num'] = array(5,50,60,10,66,44);
arsort($arr['num']);
$key = array_keys($arr['num']);
function sort_arr($key,$arr){
foreach($key as $ky){
foreach($arr as $k=>$val){
if($ky==$k)$tmp[]=$val;
}
}
return $tmp;
}
$arrName = sort_arr($key,$arr['name']);
$arrId = sort_arr($key,$arr['uid']);
echo "key-->>";print_r($key);echo "<br>";
#key-->>Array ( [0] => 4 [1] => 2 [2] => 1 [3] => 5 [4] => 3 [5] => 0 )
echo "name-->>";print_r($arrName);echo "<br>";
echo "id-->>";print_r($arrId);echo "<br>";
echo "num-->>";print_r($arr['num']);echo "<br>";
#name-->>Array ( [0] => a5 [1] => a3 [2] => a2 [3] => a6 [4] => a4 [5] => a1 )
#id-->>Array ( [0] => 5 [1] => 3 [2] => 2 [3] => 6 [4] => 4 [5] => 1 )
#num-->>Array ( [4] => 66 [2] => 60 [1] => 50 [5] => 44 [3] => 10 [0] => 5 )
$arr['uid'] = array(1,2,3,4,5,6);
$arr['name'] = array('a1','a2','a3','a4','a5','a6');
$arr['num'] = array(5,50,60,10,66,44);
array_multisort($arr['num'], $arr['name'], $arr['uid']);
print_r($arr);Array
(
[uid] => Array
(
[0] => 1
[1] => 4
[2] => 6
[3] => 2
[4] => 3
[5] => 5
) [name] => Array
(
[0] => a1
[1] => a4
[2] => a6
[3] => a2
[4] => a3
[5] => a5
) [num] => Array
(
[0] => 5
[1] => 10
[2] => 44
[3] => 50
[4] => 60
[5] => 66
))
array_multisort()会改变uid、name和num之间的依存关系。
比如:$arr['uid'] = array(1,2,3,4,5,6);
$arr['name'] = array('a1','a2','a3','a4','a5','a6');
$arr['num'] = array(5,50,60,10,66,44);#当uid=5时,name=a5,num=66我也想到了#6的方法:while($ur=$empire->fetch($sql))
{
$num[]=$empire->gettotal("select count(*) as total from phome_ecms_news where checked=1 and ismember=1 and userid='$ur[userid]'");
$arr[]=array('userid'=>$ur['userid'],'username'=>$ur['username'],'num'=>$num);
}
print_r($arr);
#Array ( [0] => Array ( [uid] => 1 [name] => a1 [num] => 5 ) [1] => Array ( [uid] => 2 [name] => a2 [num] => 50 ) [2] => Array ( [uid] => 3 [name] => a3 [num] => 60 ) [3] => Array ( [uid] => 4 [name] => a4 [num] => 10 ) [4] => Array ( [uid] => 5 [name] => a5 [num] => 66 ) [5] => Array ( [uid] => 6 [name] => a6 [num] => 44 ) )
#这时,按num降序,array_multisort()就不会用了,所以就改用了#8的方法。望指教!
后来测试了一下,确实没有改变依存关系,当时我在array_multisort()的参数没有添加正确,谢谢指教。