php比较字符串数组大小
                        
                                                            比较
                                                            大小
                                                            字符串
                                                            数组
                                                            php
                                                            str2
                                                            ord
                                                            v1
                                                            排序
                                                            字符
                                                    
                         编程技术
                    
                    
                        
                             发布日期
                            2022-11-23 
                        
                        
                             更新日期
                            2022-11-23 
                        
                        
                             阅读次数 140
                        
                        
                             文章字数 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
                                            排序
                                            字符
                                    
                
                    
                    
                    
                    
                
            
            发表评论
相关推荐