PHP写的简单冒泡排序,为什么不能排序?

xuxubarca 2014-08-22 04:27:37
<html>
<body>
<form action="maopao.php" method="post">
<input type="text" name="num"/>
<input type="submit"/>
</form>
<?php


$st=$_REQUEST['num'];
$arr=explode(" ",$st);

function BubbleSort($arr){
$temp=0;

for($i=0;$i<count($arr)-1;$i++){

for($j=0;$j<count($arr)-1-$i;$j++){

if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}


}
}
BubbleSort($arr);
print_r($arr);
?>
</body>
</html>

函数之前实验了,是对的。想加个功能在输入框输入几个数字以空格分割,提交后完成排序。 结果只输出提交的数,没有进行排序。 这里面哪写错了,求指点
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxubarca 2014-08-22
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
你可以象 php 所有的排序函数那样以引用方式传递待排序数组
function BubbleSort(&$arr){
   $temp=0;
   for($i=0;$i<count($arr)-1;$i++){
      for($j=0;$j<count($arr)-1-$i;$j++){
         if($arr[$j]>$arr[$j+1]){
            $temp=$arr[$j];
            $arr[$j]=$arr[$j+1];
            $arr[$j+1]=$temp;
         }
      }
   }
}
BubbleSort($arr);
print_r($arr);
也可以象一般函数那样返回结果
function BubbleSort($arr){
   $temp=0;
   for($i=0;$i<count($arr)-1;$i++){
      for($j=0;$j<count($arr)-1-$i;$j++){
         if($arr[$j]>$arr[$j+1]){
            $temp=$arr[$j];
            $arr[$j]=$arr[$j+1];
            $arr[$j+1]=$temp;
         }
      }
   }
   return $arr;
}
print_r(BubbleSort($arr));
多谢了!!
xuzuning 2014-08-22
  • 打赏
  • 举报
回复
你可以象 php 所有的排序函数那样以引用方式传递待排序数组
function BubbleSort(&$arr){
   $temp=0;
   for($i=0;$i<count($arr)-1;$i++){
      for($j=0;$j<count($arr)-1-$i;$j++){
         if($arr[$j]>$arr[$j+1]){
            $temp=$arr[$j];
            $arr[$j]=$arr[$j+1];
            $arr[$j+1]=$temp;
         }
      }
   }
}
BubbleSort($arr);
print_r($arr);
也可以象一般函数那样返回结果
function BubbleSort($arr){
   $temp=0;
   for($i=0;$i<count($arr)-1;$i++){
      for($j=0;$j<count($arr)-1-$i;$j++){
         if($arr[$j]>$arr[$j+1]){
            $temp=$arr[$j];
            $arr[$j]=$arr[$j+1];
            $arr[$j+1]=$temp;
         }
      }
   }
   return $arr;
}
print_r(BubbleSort($arr));
xuxubarca 2014-08-22
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
函数不是引用传参,也没有返回 所以执行与不执行都一样
那这个问题应该如何解决啊?
xuzuning 2014-08-22
  • 打赏
  • 举报
回复
函数不是引用传参,也没有返回 所以执行与不执行都一样

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧