在PHP中,将一个汉字数组遵照拼音首字母举行排序

(以前发的这篇博文因为含有敏感关键字,只能重发一遍了)

<?php

$str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢,之后则比较快,移开时按原曲线回到原点。";

$len = mb_strlen($str);
$sta = [];
for($i = 0; $i<$len; $i++){
    $tmp = mb_substr($str,$i,1);
    if($tmp != " "){
        array_push($sta,$tmp);
    }
}

//将中文字符转换成gbk编码,必须先将数组转换为字符串,然后转换编码,最后将字符串反转成数组
$sta = eval('return '.mb_convert_encoding(var_export($sta,true), "gbk","utf-8").";");
//按数组值进行排序
sort($sta);
//将中文字符转换成utf-8编码
$sta = eval('return '.mb_convert_encoding(var_export($sta,true), "utf-8", "gbk").";");

var_dump($sta);

 

在PHP中,将一个中国字数组按照拼音首字母举办排序

知识点:

  1. PHP官方手册,多字节字符处理 mb_string;
  2. var_expost函数,输出关于传递给该函数的变量的布局音讯,与var_dump的分别是其出口的是法定的php代码。若第二个参数设置为true,则就此重回变量的意味;
  3. mb_substr(),获取部分字符串,与substr不同的是,这一个函数的分开是以全部的字符分割,而substr是以字节来划分的;

 

相关文章