php比较字符串数组大小

比较 大小 字符串 数组 php str2 ord v1 排序 字符 编程技术
发布日期 2022-11-23 更新日期 2022-11-23 阅读次数 50 文章字数 641

简单的排序方法,比如冒泡,在字符串大小对比时,实际为循环取出每个字符的ascii码,逐个比较。即可比较字符串数组大小

// 比较两串字符的ascii码大小
function check_ascii(string $str1, string $str2){
    $len1 = strlen($str1);
    $len2 = strlen($str2);

    if ($len1 > $len2) {
        $bool = false;
        $len = $len2;
    } else {
        $bool = true;
        $len = $len1;
    }

    for ($i=0; $i<$len; ++$i) {
        if (ord($str1[$i]) > ord($str2[$i])) { // 第一个 比 第二个 大
            return false;
        } elseif (ord($str1[$i]) < ord($str2[$i])) { // 第二个 比 第一个 大
            return true;
        }
    }
    return $bool; // 前面字符相等,长度短的小
}

// 根据 ascii码 排序 顺序 (仿windows文件排序)
function asc_sort(array &$arr, callable $callable){
    foreach ($arr as $k1=>&$v1) {
        foreach ($arr as $k2=>&$v2) {
            if ($v1 != $v2 && $callable($v1, $v2)) {
                $tmp = $v1;
                $v1 = $v2;
                $v2 = $tmp;
            }
        }
    }
}

$arr = ['6', '32', 'c2519', '26'];

asc_sort($arr,'check_ascii');


echo "<pre>";
print_r($arr);
echo "</pre>";

文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-208.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

比较 大小 字符串 数组 php str2 ord v1 排序 字符

发表评论

相关推荐
朱丰华   |   7个月前   |   php

php判断是否被iframe

225    评论    点赞
朱丰华   |   1年前   |   linux · upx

Linux下安装UPX

408    评论    点赞
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

190    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql Timestamp或dateTime格式筛选

126    评论    点赞
朱丰华   |   1年前   |   javascript

通过Javascript获得页面元素的字体大小

135    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

172    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

198    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

113    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

95    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

150    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

50    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

86    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

111    评论    点赞
朱丰华   |   1年前   |   下载 · 请求

idm、浏览器下载发送两次下载请求

137    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 统计

linux递归统计文件夹下的文件数量

166    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

158    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

150    评论    点赞
朱丰华   |   1年前   |   js · export · import

js es6 export,import,export default的用法和区别

125    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞