Непоследовательное поведение для числового форматера с порядковым номером

Сегодня я столкнулся со странной вещью, и я не уверен, что с этим делать.

Вот мой код:

<?php
$nf = new \NumberFormatter("en_UK", \NumberFormatter::ORDINAL);
die(var_dump($nf->format(1)));

Этот код выводит следующее в PHP версии 5.6.20:

строка (3) «1-й»

но он выводит следующее в PHP версии 5.6.14:

строка (6) «1ˢᵗ»

Я не уверен, что с этим делать. Версия с надписью — это то, чего я не ожидал. Я просмотрел журналы изменений, но не видел документированных изменений. Кто-нибудь знает, является ли это предполагаемым поведением? Любой способ заставить его вернуться к первому поведению (потому что это выглядит странно при рендеринге в формах)?

При установке PHP 5.6.20 используется версия ICU 4.8.1.1, а в версии 5.6.14 — версия 4.4.0.1.

1

Решение

Я бы просто обновился до более новой ICU.

Странный верхний индекс был исправлен в CLDR 2.0 Это было введено в этот билет лет до. Я не уверен, какая версия CLDR представила его, но, к сожалению, меня зовут рецензентом. Может быть, это казалось хорошей идеей в то время.

Это данные из CLDR и не код, как правило, мы не делаем запись журнала изменений для каждого изменения данных.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]