第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在多維數(shù)組中的 php 中排序時(shí)忽略重音字符

在多維數(shù)組中的 php 中排序時(shí)忽略重音字符

PHP
慕標(biāo)5832272 2023-09-15 21:26:40
我有如下所示的多維數(shù)組,我想在其中基于[name]字段進(jìn)行排序。另外,帶重音的字母應(yīng)該像不帶重音的字母一樣排序。Array(    [chicago] => Array        (            [community_name] => Chicago, IL            [areas] => Array                (                    [0] => Array                        (                            [name] => Array                                (                                    [0] => HELLO WORLD.                                )                        )                    [1] => Array                        (                            [name] => Array                                (                                    [0] => Hello                                )                        )                    [2] => Array                        (                            [name] => Array                                (                                    [0] => Administration.                                )                        )                )        )    [chicago-and-surrounding-areas] => Array        (            [community_name] => Chicago (and surrounding areas), IL            [areas] => Array                (                    [0] => Array                        (                            [name] => Array                                (                                    [0] => Covit Corp.                                 )                        )                    [1] => Array                        (                            [name] => Array                                (                                    [0] => Cable-Axion Digital Corp.                                 )                        )                   )        )
查看完整描述

2 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

使用 intl 的 Collator:


$arr = [

  ['key' => 'Avocado'],

  ['key' => 'A?ple'],

];


$c = new Collator('root');

usort(

    $arr,

    function($a, $b) use($c){

        return $c->compare($a['key'], $b['key']);

    }

);

var_dump($arr);

輸出:


array(2) {

  [0]=>

  array(1) {

    ["key"]=>

    string(7) "A?ple"

  }

  [1]=>

  array(1) {

    ["key"]=>

    string(7) "Avocado"

  }

}

其中“root”使用一組默認(rèn)規(guī)則,這些規(guī)則似乎會(huì)根據(jù)需要忽略重音,但您可以為特定于語(yǔ)言的排序順序指定實(shí)際區(qū)域設(shè)置。


查看完整回答
反對(duì) 回復(fù) 2023-09-15
?
長(zhǎng)風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用Normalizer將字符與變音符號(hào)分開(kāi),然后將其刪除以獲得“基本”字符。

function stripDiacritics(string $string): string {

? ? return preg_replace(

? ? ? ? '/[\x{0300}-\x{036f}]/u',

? ? ? ? '',

? ? ? ? Normalizer::normalize($string , Normalizer::FORM_D)

? ? );

}


foreach ($array as &$locality) {

? ? usort($locality['areas'], function ($a, $b) {

? ? ? ? return stripDiacritics($a['name'][0]) <=> stripDiacritics($b['name'][0]);

? ? });

} ? ?

查看完整回答
反對(duì) 回復(fù) 2023-09-15
  • 2 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)