PHP

PHP: 文字列リストを並び替える

この投稿中のコードはすべてCC0です

TL;DL

<?php

declare(strict_types=1);

// use Collator;

// この一覧を並び替える
$list = ['あい', 'うえ', 'アイ', 'ABC', 'abc', '亜', 'ぁぃ'];

$collator = Collator::create('ja'); // 実現には Collator を使う
assert($collator !== null);
$collator->setAttribute(Collator::NUMERIC_COLLATION, Collator::ON); // ナチュラルソート
$collator->sort($list, Collator::SORT_STRING);

echo json_encode($list, JSON_UNESCAPED_UNICODE) . "\n";
// -> ["abc","ABC","ぁぃ","あい","アイ","うえ","亜"]

続きを読む