// 冒泡排序函数
function bubble_sort(& $array) {
$is_ordered = true; // 认为默认是有序的
$array_length = count($array);
$temp = 0;
// 进行数组排序
for ($i = 0; $i < $array_length -1; $i++) {
for ($j = 0; $j < $array_length -1 - $i; $j++) {
if ($array[$j] > $array[$j +1]) {
$temp = $array[$j];
$array[$j] = $array[$j +1];
$array[$j +1] = $temp;
$is_ordered = false; // 数组是无序的
}
}
// 判断是否可以结束数组的排序
if (!$is_ordered) {
$is_ordered = true; // 再次认为数组是有序的
} else {
break; // 此时数组是有序的,无需继续循环,跳出外层for循环。
}
}
}
// 数组打印函数
function print_array($array) {
foreach ($array as $key => $value) {
echo "\$array[$key] = $value
";
}
}
// 初始化数组
$array = array (
1,
-1,
3,
3,
2,
9,
-10,
7,
6,
5
);
// 调用函数
bubble_sort($array);
print_array($array);
/* 输出
$array[0] = -10
$array[1] = -1
$array[2] = 1
$array[3] = 2
$array[4] = 3
$array[5] = 3
$array[6] = 5
$array[7] = 6
$array[8] = 7
$array[9] = 9
*/
?>