PHP简单实现冒泡排序的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP简单实现冒泡排序的方法。分享给大家供大家参考,具体如下:

<?php
$files = array("file11.txt","file22.txt","file1.txt","file2.txt");
function mySort($arr,$nat=false) {
    for($i=0;$i<count($arr);$i++) {
      for($j=0;$j<count($arr)-$i-1;$j++) {
        if($nat) {
          //按照strnatcmp()自然排序函数
          if(strnatcmp($arr[$j], $arr[$j+1])>0) {
            $tmp = $arr[$j];
            $arr[$j] = $arr[$j+1];//从小到大排
            $arr[$j+1] = $tmp;
          }
        } else {
          //按照strcmp()自然排序函数
          if(strcmp($arr[$j], $arr[$j+1])>0) {
            $tmp = $arr[$j];
            $arr[$j] = $arr[$j+1];//从小到大排
            $arr[$j+1] = $tmp;
          }
        }
      }
    }
    return $arr;
}
//Array ( [0] => file1.txt [1] => file11.txt [2] => file2.txt [3] => file22.txt )
print_r(mySort($files,false));
echo "<br/>";
//2<11
//Array ( [0] => file1.txt [1] => file2.txt [2] => file11.txt [3] => file22.txt )
print_r(mySort($files,true));
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP进程通信基础之信号量与共享内存通信

由于进程之间谁先执行并不确定,这取决于内核的进程调度算法,其中比较复杂。由此有可能多进程在相同的时间内同时访问共享内存,从而造成不可预料的错误。信号量这个名字起的令人莫名其妙,但是看其英...

php使用Jpgraph绘制饼状图的方法

php使用Jpgraph绘制饼状图的方法

本文实例讲述了php使用Jpgraph绘制饼状图的方法。分享给大家供大家参考。具体实现方法如下: <?php include ("src/jpgraph.php");...

Fedora下安装php Redis扩展笔记

一、安装编译工具 复制代码 代码如下: yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-d...

利用static实现表格的颜色隔行显示的代码

在实际编程应用中我们对STATIC的功能经常遗忘。要好好反省。。:)  我们用PHP从数据库查询数据,并将结果输出到浏览器上,如果结果有很多行,表格的bgcolor如果全是单色...

PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于wi...