PHP For 循环 怎么能把 数组 从小到大排列呢

$a=array(8,5,9);for($a[i]=$a[1];$a[i]<$a[i-1];$a[i]++){$b=$a[i];$a[i]=$a[i-1];$a[i-1]... $a = array(8,5,9);

for ($a[i] = $a[1]; $a[i] < $a[i-1]; $a[i]++)
{
$b = $a[i];
$a[i] = $a[i-1];
$a[i-1] = $b;
}

echo $a;
展开
 我来答
IT互联天下
推荐于2017-10-04 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部

  用非常典型的冒泡排序即可实现,具体实现思路如下列代码所示:

<?php 
    //首先定义一个数组;
    $arr=array(100,23,69,2,50,31);
    //计算数组的长度;
    $length =count($arr);
    //外层循环n-1
    for($n=0;$n<$length-1;$n++){
        //内层循环n-i-1
         for($i=0;$i<$length-$n-1;$i++){
             //判断数组元素大小,交换位置,实现从小往大排序
            if($arr[$i]>$arr[$i+1]){
                $temp=$arr[$i+1];
                $arr[$i+1]=$arr[$i];
                $arr[$i]=$temp; 
             }
            
         }
        
    }
    print_r($arr);
    //Array ( [0] => 2 [1] => 23 [2] => 31 [3] => 50 [4] => 69 [5] => 100 ) 
    
?>
雨林雨林9876
2011-06-17 · TA获得超过157个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:163万
展开全部
<?php
$a = array(8,5,9,4,5,6,7,1,2,3,0);
$number =count($a);
for($y=0;$y<$number;$y++){
for($i=0;$i<$number;$i++){
if($a[$i]>$a[$i+1]){
$b =$a[$i];
$a[$i] =$a[$i+1];
$a[$i+1] =$b;
}
}
}
print_r($a);
?>
也可以直接使用php 函数
arsort函数:对数组进行逆向排序并保持索引关系 
asort函数:对数组进行排序并保持索引关系
natsort函数:用自然排序算法对数组排序 
rsort函数:对数组逆向排序
sort函数:对数组排序 
这几个函数都可以,根据你的需要选择
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappmPFH9MCjybmU7
2011-06-17 · TA获得超过452个赞
知道小有建树答主
回答量:684
采纳率:100%
帮助的人:383万
展开全部
现成的数组排序函数可用啊,
asort($array);
降序由大变小用arsort($array)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoxinggs
2011-06-17 · TA获得超过1017个赞
知道小有建树答主
回答量:1013
采纳率:0%
帮助的人:950万
展开全部
$a = array(8,5,9);
sort($a)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式