変更された関数
PHP コア
-
set_error_handler() の引数に
NULLを渡して呼ぶと、 エラーハンドラをリセットできるようになりました。 -
NULLを渡して呼んだ場合の set_error_handler() と set_exception_handler() の返り値は、 それぞれ以前のエラーハンドラと例外ハンドラになります。 - pack() と unpack() が書式文字 Z に対応しました。これは null 埋めの文字列に使います。
- unpack() の a 書式は 最後の null バイトを切り捨てなくなりました。Perl と同じ挙動になります。
- unpack() の A 書式は 最後の ASCII 空白文字をすべて切り捨てるようになりました。Perl と同じ挙動になります。
intl
- MessageFormatter::format() とその関連関数で、 名前付き引数に対応しました。数値引数との混在も可能です。 これは、PHP を ICU 4.8 以降とリンクした場合に有効になります。
- MessageFormatter::format() とその関連関数で、 引数の数を間違えた場合にエラーが発生しなくなりました。 ただし、プレースホルダの置換は行われません。
- MessageFormatter::format() と MessageFormatter::parse() で時刻を扱うときに、 秒単位の精度に縛られなくなりました。
-
IntlDateFormatter::__construct() と
datefmt_create() の
timezone引数で IntlTimeZone や DateTimeZone のオブジェクトが使えるようになり、同じくcalendar引数で IntlCalendar オブジェクトが使えるようになりました。 さらに、タイムゾーンが省略されていてcalendarでタイムゾーンが指定されていない場合は、ICU のデフォルトタイムゾーンではなく PHP のデフォルトタイムゾーン ( date_default_timezone_get() の返す値) を使うようになりました。 - IntlDateFormatter オブジェクトを作るときに IntlDateFormatter の定数ではなく IntlCalendar のインスタンスを使った場合に、 IntlDateFormatter::getCalendar() と datefmt_get_calendar() が false を返すようになりました。
- IntlDateFormatter::setCalendar() と datefmt_set_calendar() で、 IntlDateFormatter の定数以外に IntlCalendar オブジェクトも受け付けるようになりました。
- IntlDateFormatter::format() と datefmt_format() で IntlCalendar オブジェクトが使えるようになりました。