私は今日、最も奇妙なことに遭遇しました。どうしたらよいかわかりません。
これが私のコードです:
<?php
$nf = new \NumberFormatter("en_UK", \NumberFormatter::ORDINAL);
die(var_dump($nf->format(1)));
このコードは、PHP バージョン 5.6.20 で次を出力します。
文字列(3) "1番目"
ただし、PHP バージョン 5.6.14 では次のように出力されます。
string(6) "1ˢᵗ"
これをどうすればいいのかわからない。上付きのバージョンは、私が期待していなかったものです。変更ログを確認しましたが、この変更が文書化されていません。これが意図された動作であるかどうかは誰にも分かりますか? 最初の動作に強制的に戻す方法はありますか (フォームでレンダリングすると奇妙に見えるため)?
PHP 5.6.20 のインストールでは ICU バージョン 4.8.1.1 を使用し、5.6.14 では ICU バージョン 4.4.0.1 を使用しています。