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
排序
字符
发表评论
相关推荐