建议:
生成数组后,用session保存。
排序时候,在session中取出保存的数组现在你排序时候的数组是重新再生成的。不是第一次时候产生的。还有,你的$x & $y是用来做什么的呢?<html> 
<head> 
<title>数组显示 </title> 
</head> <body> 
<form action="MyPhp.php"  method = "post"> 
<input type = "submit" value = "原数组" name ="submit_1"/> 
<input type = "submit" value = "排序" name = "submit_2" /> 
</form> </body> </html> <?php 
session_start();
function compositer() 

$num = 10; 
$start = 0; 
$end = 100; 
$ul_array = 0; while($ul_array <$num) 

$a[]=rand($start,$end); 
$ary=array_unique($a); 
$ul_array=count($ary); 
} foreach ($ary as $value) 

echo $value.","; 

return $ary; 
} function BubbleSort($arr){ 
    $num = count($arr); 
    for($i=1;$i <$num;$i++){ 
        for($j=$num-1;$j>=$i;$j--){ 
            if($arr[$j] <$arr[$j-1]){ 
                $iTemp = $arr[$j-1]; 
                $arr[$j-1] = $arr[$j]; 
                $arr[$j] = $iTemp; 
            } 
        } 
    } 
    return $arr; 
} if($_REQUEST['submit_1']) 

global $y; 
$_SESSION['arr']=compositer(); //把数组保存到session中,下一次排序时候使用
} if($_REQUEST['submit_2']) 

$My_array = BubbleSort($_SESSION['arr']); 
print_r($My_array); 


?>

解决方案 »

  1.   

    第一个页面和处理页面放一起真不方便,总是涉及$_post[]某个下标是否定义的问题
    这个是调试好的,我这里没问题了。
    你的排序函数有问题,改过了,最外成for循环多了一次:<html> 
    <head> 
    <title>数组显示 </title> 
    </head> <body> 
    <form action="MyPhp.php"  method = "post"> 
    <input type = "submit" value = "原数组" name ="sub"/> 
    <input type = "submit" value = "排序" name = "sub" /> 
    </form> 
    <?php function compositer() 

    $num = 10; 
    $start = 0; 
    $end = 100; 
    $ul_array = 0; while($ul_array <$num) 

    $a[]=rand($start,$end); 
    $ary=array_unique($a); 
    $ul_array=count($ary); 
    } foreach ($ary as $value) 

    echo $value.","; 

    return $ary; 
    } function BubbleSort($arr){ 
        $num = count($arr); 
        for($i=1;$i <$num-1;$i++){ 
            for($j=$num-1;$j>=$i;$j--){ 
                if($arr[$j] <$arr[$j-1]){ 
                    $iTemp = $arr[$j-1]; 
                    $arr[$j-1] = $arr[$j]; 
                    $arr[$j] = $iTemp; 
                } 
            } 
        } 
        return $arr; 

    if(isset($_POST['sub'])){
    session_start();
    if($_POST['sub']=='原数组') 
    $_SESSION['原数组']=compositer(); 
    if($_POST['sub']=='排序'){
    $My_array = BubbleSort($_SESSION['原数组']);
    echo "原数组:<br>";
        print_r($_SESSION['原数组']);
    echo '<br>';
    echo "排序数组:<br>";
    print_r($My_array); 
    }
    }
    ?>
    </body> 
    </html> 
      

  2.   

    用JSON变成js数组,要好做一点。
      

  3.   


    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>数组显示</title> 
    </head> <body> <form action="arr.php"  method = "post"> 
    <input type = "submit" value = "创建原数组" name ="submit_1"/> 
    <input type = "submit" value = "对原数组进行排序" name = "submit_2" /> 
    </form> </body> 
    </html> 
    <?php 
    function compositer() { 
    $num = 10; 
    $start = 0; 
    $end = 100; 
    $ul_array = 0; 

    while($ul_array <$num) { 
    $a[]=rand($start,$end); 
    $ary=array_unique($a); 
    $ul_array=count($ary); 

    /*
    foreach ($ary as $value) { 
    echo $value.","; 
    } */
    return $ary; 
    }function BubbleSort($arr){ 
        $num = count($arr); 
        for($i=1;$i <$num;$i++){ 
            for($j=$num-1;$j>=$i;$j--){ 
                if($arr[$j] <$arr[$j-1]){ 
                    $iTemp = $arr[$j-1]; 
                    $arr[$j-1] = $arr[$j]; 
                    $arr[$j] = $iTemp; 
                } 
            } 
        } 
        return $arr; 
    } if($_REQUEST['submit_1']) { 
    $arr = compositer(); 
    session_start();
    session_register("arr");
    $_SESSION['arr'] = $arr;
    var_dump($_SESSION['arr']);
    } if($_REQUEST['submit_2']) { 
    session_start();
    $arr = $_SESSION['arr'];
    var_dump($arr);
    echo '<br>';
    if(count($arr)>0) { 
    $My_array = BubbleSort($arr); 
    print_r($My_array); 


    ?>
    经测试没问题,返回内容如下:(感谢楼主出这道使我很感兴趣回答的问题)
    array(10) { [0]=> int(47) [1]=> int(34) [2]=> int(73) [3]=> int(11) [4]=> int(3) [5]=> int(63) [6]=> int(37) [7]=> int(74) [8]=> int(70) [9]=> int(92) } 
    Array ( [0] => 3 [1] => 11 [2] => 34 [3] => 37 [4] => 47 [5] => 63 [6] => 70 [7] => 73 [8] => 74 [9] => 92 )