php 汉字按字母排序,在PHP中,将一个汉字数组按照拼音首字母进行排序

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

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

$len = mb_strlen($str);

$sta = [];

for($i = 0; $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中,将一个汉字数组按照拼音首字母进行排序

知识点:

PHP官方手册,多字节字符处理 mb_string;

var_expost函数,输出关于传递给该函数的变量的结构信息,与var_dump的区别是其输出的是合法的php代码。若第二个参数设置为true,则从而返回变量的表示;

mb_substr(),获取部分字符串,与substr不同的是,这个函数的分割是以完整的字符分割,而substr是以字节来分割的;

asp.net 获取汉字字符串的拼音首字母,含多音字

需求:在很多时候数据查询的时候,我们希望输入某个人姓名的拼音首字母进行查询,例如“潘长江”,输入“pcj”,就能搜索潘长江相关信息. 实现: #region 获取汉字转换拼音 首字母 public s ...

SQL 汉字转换成拼音首字母 首字母查

-- ============================================= -- 功能:汉字转换成拼音首字母 首字母查 -- ========================== ...

mysql 中将汉字(中文)按照拼音首字母排序

因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY ...

SQL将用户表中已存在的数据所有姓名(汉字)转换为拼音首字母

实现方法: --函数 Create function [dbo].[fn_GetPy](@str nvarchar(4000)) returns nvarchar(4000) --用于加密 --WIT ...

sql中写标量函数生成大写拼音首字母

USE [StockManageSystemV2] GO /****** Object: UserDefinedFunction [dbo].[PinYin] Script Date: 2016-08 ...

python3.4.3将汉字转换为大写拼音首字母

from pypinyin import pinyin a=pinyin(u'杨强',type=FIRST_LETTER)    --->此时返回一个列表并赋给a(元素也是列表) b=[]  - ...

python3将汉字转换为大写拼音首字母

利用pypinyin包 实现 import pypinyin a = pypinyin.pinyin('你好世界', style=pypinyin.FIRST_LETTER) b = [] for i ...

C# 汉字获取拼音首字母,给数据库中的姓名添加首字母

本方案采用微软官方语言包 (下载链接: https://pan.baidu.com/s/10I1bhTdFr4-q_xKVHuEzMA 提取码: p3nk ChnCharInfo.dll 用于获取首字 ...

简单测试--C#实现中文汉字转拼音首字母

第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即“最小”的汉字作比较,这里的最小指的是按拼音规则比 ...

随机推荐

.NET 读取本地文件绑定到GridViewRow

wjgl.aspx.cs: using System; using System.Collections; using System.Configuration; using System.Data; ...

TMS320C64X+ 中使用EDMA3中断

关于EDMA3,TI的文档有详细的介绍.园子里的文章 http://www.cnblogs.com/fpga/archive/2009/10/13/1582516.html,http://www.cn ...

org.apache.struts2.json.JSONWriter can not access a member of class

偶遇一个问题:org.apache.struts2.json.JSONWriter can not access a member of class org.apache.tomcat.dbcp.db ...

C# 给数据库传入当前时间

DateTime time=DateTime.Now; // 存储过程中用一个 @addTime DateTime --接收DateTime 类型接收

Linux 配置多IP

这里以红帽Linux为例.假定原系统已配置一个IP,地址为:192.168.20.140,配置文件路径/etc/sysconfig/network-script/ifcfg-eth0.现在需要配置一个 ...

LVS负载均衡的三种模式和八种算法总结

三种LVS负载均衡模式 调度器的实现技术中,IP负载均衡技术是效率最高的,IP虚拟服务器软件(IPVS)是在linux内核中实现的。 LVS负载均衡模式---1.NAT模式 NAT用法本来是因为网络I ...

lambda创建匿名函数

1)print map(lambda x: x + 1, [y for y in range(10)]) 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]map(lambda &l ...

最新Linux系统Ubuntu16.04搭建HUSTOJ(LAMP环境)

应该跟着下面的步骤就OK了吧! 1.升级软件库,更新软件 打开终端 输入 sudo apt-get update sudo apt-get upgrade 2.安装mysql5.7 (注意:mysql ...

修改JEECG项目浏览器标题

方法1: 在线修改,在平台自带的功能“系统管理”——“国际化语言” 中搜索 jeect.platform,修改显示文字重启生效. 方法2: 修改数据表t_s_muti_lang中id为"40 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值