PHP 按照A-Z(不区分大小写)排序

1,preg_match("/^[a-zA-Z]+(.*)?$/", $country) // 正则匹配,支持输入英文,只要一个字母为英文即可

2,preg_match("/^[a-zA-Z\s]+$/", $country) // 正则匹配,支持输入英文,纯英文

  3,ksort    按照键名对关联数组进行升序排序

  4,sort  对索引数组进行升序排序  ( 排序顺序: 数字   A-Z    a-z  其他  [  PHP函数自带属性 ] )

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

// 数组 代替  MySQL查询数据(测试用)
$nations = array("Australia","Canada","Poland","eqeq","444","5555","测试","asss");

//  按照 A-Za-z(不区分大小写,排序:Aaaa aeedd) + 数字 + 其他(中文,特殊字符等) 排序
$sort_country_arr = $country_arr = array();
foreach ($nations as $v) {
    if (preg_match("/^[a-zA-Z]+(.*)?$/", $v)) { // 英文
        $sort_country_arr['english'][strtoupper($v)] = $v;
    } elseif (is_numeric($v)) { // 数字
        $sort_country_arr[] = $v;
    } else { // 中文  或者 其他
        $sort_country_arr[] = $v;
    }
}

$country_en = $sort_country_arr['english'];
ksort($country_en);
unset($sort_country_arr['english']);
$country_arr = $country_en + $sort_country_arr;

$smarty->assign('nations', $country_arr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值