php中的 foreach 对数组重新排序 很简单

我想根据"rating" 的数值重新按照大小排列,具体怎么操作啊,方法尽量简单哦。。

<?php
$data = array(
array("id" => 1, "name" => "Boney M", "rating" => 3),
array("id" => 2, "name" => "Take That", "rating" => 1),
array("id" => 3, "name" => "The Killers", "rating" => 4),
array("id" => 4, "name" => "Lusain", "rating" => 3),
);
foreach ($data as $key => $value) {
echo $value['id'];
echo $value['name'];
echo $value['rating'];
echo "<br>";
}

?>

第1个回答  2012-01-19
<?php
$data = array(
array("id" => 1, "name" => "Boney M", "rating" => 3),
array("id" => 2, "name" => "Take That", "rating" => 1),
array("id" => 3, "name" => "The Killers", "rating" => 4),
array("id" => 4, "name" => "Lusain", "rating" => 3),
);
//排序
function cmp(&$a,&$b){ return $a['rating']-$b['rating']; }
usort($data,'cmp');
var_dump($data);
=======
array
0 =>
array
'id' => int 2
'name' => string 'Take That' (length=9)
'rating' => int 1
1 =>
array
'id' => int 1
'name' => string 'Boney M' (length=7)
'rating' => int 3
2 =>
array
'id' => int 4
'name' => string 'Lusain' (length=6)
'rating' => int 3
3 =>
array
'id' => int 3
'name' => string 'The Killers' (length=11)
'rating' => int 4
第2个回答  2018-03-23
$array=array(12,3,23,67,45,8);
foreach($array as $v2=>$o2){
foreach($array as $v=>$o){
if($o>$zhi){
$zhi=$o;
}
}
unset($array[array_search($zhi,$array)]);
$iff[]=$zhi;
$zhi='';
}
dump($iff);
//从小到大
$zhi='9999';
$array=array(12,3,23,67,45,8);
foreach($array as $v2=>$o2){
foreach($array as $v=>$o){
if($o<$zhi){
$zhi=$o;
}
}
unset($array[array_search($zhi,$array)]);
$iff[]=$zhi;
$zhi='9999';
}
第二种
foreach($node as $k=>$v){
$dos[$k]=$v['sort'];
}
array_multisort($dos,SORT_ASC,$node);
第3个回答  2012-01-20
PHP有数组自定义排列函数,你可以自己去看文档。
第4个回答  推荐于2016-11-14
<?php
$data = array(
array("id" => 1, "name" => "Boney M", "rating" => 3),
array("id" => 2, "name" => "Take That", "rating" => 1),
array("id" => 3, "name" => "The Killers", "rating" => 4),
array("id" => 4, "name" => "Lusain", "rating" => 3),
);

foreach ($data as $key => $value) {
$rating[$key] = $value['rating'];
}

array_multisort($rating, SORT_ASC, $data);

foreach ($data as $key => $value) {
echo $value['id'];
echo $value['name'];
echo $value['rating'];
echo "<br>";
}
?>

//这个比较简单点,保证没问题本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网