我在我的应用程序中使用Devnagari字体.键盘中的每个英文键代表Devnagari中的某些字符.例如我的英文名字是萨宾,但是当我使用devnagari字体时,它会是"滞后"而没有引号.并且记录以这种方式保存在数据库中.现在我在排序记录时遇到问题.
在devnagari首先出现的是Devnagari元音,然后是devnagari字母.像c,cf,O,O {,p,pm,...... [每个用逗号分隔]然后devnagari字母等效从第一个开始,s,v,u,#,...等等[每个用逗号分隔].
我遇到的问题是在devnagari中按字母顺序排序名称.任何想法都将受到高度赞赏.谢谢!
编辑:返回的数组如下,我需要使用usort函数.
Array
(
[0] => stdClass Object
(
[user_id] => NLK32437
[first_name] => ;lag
[last_name] => %]qL
[email_address] => test1@msn.com
[mobile_number] => 9834874582
[description] => g]kfn
[date_joined] => 08-AUG-12
[status] => 1
[username] => user1
[userpassword] => 691f9298642af07c2d6ea8fef56074201e077b34
)
[1] => stdClass Object
(
[user_id] => NLK32435
[first_name] => clgn
[last_name] => zdf{
[email_address] => test2@msn.com
[mobile_number] => 984134354
[description] => g]kfn
[date_joined] => 08-AUG-12
[status] => 1
[username] => user2
[userpassword] => 0e025eade868b4b481f41ff7449bc1967261e170
)
)
Run Code Online (Sandbox Code Playgroud)
你在滥用文字编码.您将文本保存为用于其他事物的代码点,并且仅使用将原始英文字母呈现为其他内容的字体.这完全是错误的方式.
有几种编码可以让你拯救梵文作为实际的梵文字符.它受Unicode支持.将文本保存为实际的梵文字符,不要超载现有的英文代码点并依赖于破碎的字体.然后,您将获得任何支持Unicode的排序功能和许多其他功能.
usort尽管如此,一个简单的例子:
usort($array, function ($a, $b) {
static $order = array('M', 'A', ';', 'L', ...);
return array_search($a, $order) - array_search($b, $order);
});
Run Code Online (Sandbox Code Playgroud)