当前位置:首页 > PHP

php foreach实现冒泡

2026-02-15 17:42:45PHP

使用 PHP foreach 实现冒泡排序

冒泡排序是一种简单的排序算法,通过重复遍历数组,比较相邻元素并交换顺序错误的元素,直到整个数组有序。以下是使用 foreach 实现冒泡排序的方法:

基本实现

function bubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length; $i++) {
        foreach ($array as $key => $value) {
            if ($key < $length - 1 && $array[$key] > $array[$key + 1]) {
                // 交换相邻元素
                $temp = $array[$key];
                $array[$key] = $array[$key + 1];
                $array[$key + 1] = $temp;
            }
        }
    }
    return $array;
}

// 示例调用
$unsortedArray = [64, 34, 25, 12, 22, 11, 90];
$sortedArray = bubbleSort($unsortedArray);
print_r($sortedArray);

优化实现

通过添加标志位减少不必要的遍历次数,提高效率:

function optimizedBubbleSort($array) {
    $length = count($array);
    for ($i = 0; $i < $length; $i++) {
        $swapped = false;
        foreach ($array as $key => $value) {
            if ($key < $length - 1 && $array[$key] > $array[$key + 1]) {
                $temp = $array[$key];
                $array[$key] = $array[$key + 1];
                $array[$key + 1] = $temp;
                $swapped = true;
            }
        }
        if (!$swapped) {
            break;
        }
    }
    return $array;
}

// 示例调用
$unsortedArray = [64, 34, 25, 12, 22, 11, 90];
$sortedArray = optimizedBubbleSort($unsortedArray);
print_r($sortedArray);

关键点说明

  • 外层循环控制遍历轮数,内层 foreach 比较相邻元素。
  • 每次遍历将当前最大的元素“冒泡”到数组末尾。
  • 优化版本通过 $swapped 标志提前终止排序,减少无效操作。

输出结果

排序后的数组为升序排列:

Array
(
    [0] => 11
    [1] => 12
    [2] => 22
    [3] => 25
    [4] => 34
    [5] => 64
    [6] => 90
)

php foreach实现冒泡

标签: phpforeach
分享给朋友:

相关文章

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE o…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常用…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素(不移…

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php实现mysql

php实现mysql

PHP 连接 MySQL 的基本方法 PHP 提供了多种方式与 MySQL 数据库进行交互,以下是最常用的几种方法。 使用 MySQLi 扩展 MySQLi 是 MySQL 的改进扩展,支持面…

php实现静态

php实现静态

静态化实现方法 PHP实现静态化主要通过生成HTML文件或缓存机制来减少服务器动态解析的开销。以下是几种常见方法: 生成静态HTML文件 通过file_put_contents()将动态内容保存为…