<?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);
?>