<?php // print_r($_SERVER); // print_r($_REQUEST); // print_r($_ENV); // 冒泡排序 $arr=array(5,-1,10); // $temp=0; for($i=0;$i<count($arr)-1;$i++){ // 定义一个变量$i=0; // $i=0;$i<(3-1);$i=1 for($j=0;$j<count($arr)-1-$i;$j++){ // $j=0;$j<(3-1-1);$j=1 if($arr[$j]>$arr[$j+1]){ // 5>-1? $temp=$arr[$j]; // $temp=5 $arr[$j]=$arr[$j+1]; // $arr[1]=$arr[2] 将第二个值付给第一个值 // 数组变为(-1,-1,10) var_dump($arr); // 完成替换 $arr[$j+1]=$temp; // $arr[2]=$temp var_dump($arr); // 完成排序 } } } // 为了更好使用排序,我们将其封装成一个函数:代码如下 : function bubbleSort(&$myarr){ $temp=0; //这是一个中间变量 //外层循环,我们要把数组,从小到大 // 数组默认传递的是值,不是地址 for($i=0;$i<count($myarr)-1;$i++){ for($j=0;$j<count($myarr)-1-$i;$j++){ //说明前面的数比后面的数大,就要交换 if($myarr[$j]>$myarr[$j+1]){ $temp=$myarr[$j]; $myarr[$j]=$myarr[$j+1]; $myarr[$j+1]=$temp; } } } echo "<br/>函数中的myarr数组"; var_dump($myarr); } //使用函数去排序 bubbleSort($arr); //输出 var_dump($arr); ?>