php-src/ext
Ayesh Karunaratne c20b429a90 ext/intl: Add NumberFormatter::CURRENCY_ISO, PLURAL, STANDARD and CASH_CURRENCY
ICU 54 and 56 adds the following formatters[^1] for currency formatting:

 - `CURRENCY_ISO`[^2]: ISO currency code, e.g., "USD1.00"
 - `CURRENCY_PLURAL`[^3]: pluralized currency name, e.g., "1.00 US dollar" and "3.00 US dollars"
 - `CASH_CURRENCY`[^4]: currency symbol given CASH usage, e.g., "NT$3" instead of "NT$3.23"
 - `CURRENCY_STANDARD`[^5]: currency symbol, e.g., "$1.00", using non-accounting style for negative values (e.g. minus sign)

Ref: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html

This adds support for all four of them to ext/intl, along with tests.

[^1]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html
[^2]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html#a4eb4d3ff13bd506e7078b2be4052266daae232c48e579c727525855cd21571033
[^3]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html#a4eb4d3ff13bd506e7078b2be4052266da3916bb92d0784396ea2331d4f04c03f5
[^4]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html#a4eb4d3ff13bd506e7078b2be4052266da8da9eba1a27d5734599709c137c3b82f
[^5]: https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/unum_8h.html#a4eb4d3ff13bd506e7078b2be4052266dac57cfff1b245d11774e8b109b98eedc2
2025-04-09 05:39:20 +07:00
..
bcmath ext/bcmath: In the arm processor environment, NEON is used to use SIMD. (#18130) 2025-03-26 07:48:02 +09:00
bz2 streams: Indicate which argument fails the stream ZPP check 2025-03-24 22:54:34 +00:00
calendar
com_dotnet Improve COM ctor exception code for failing ProgIDs (GH-17673) 2025-02-14 17:44:43 +01:00
ctype
curl Simplify curl gc handlers (#18227) 2025-04-02 17:33:02 +02:00
date RFC: Marking return values as important (#[\NoDiscard]) (#17599) 2025-04-02 09:35:29 +02:00
dba Merge branch 'PHP-8.4' 2025-04-05 18:33:12 +01:00
dl_test Merge branch 'PHP-8.4' 2025-03-14 10:51:50 +01:00
dom Remove useless operations in namespace_compat (#18182) 2025-03-29 22:46:18 +01:00
enchant ext/enchant: Remove useless char* casts 2025-03-25 06:59:57 +00:00
exif Add OffsetTime* Exif tags 2025-04-07 18:47:06 +02:00
ffi ext/ffi: Add comment about why a function was manually optimized 2025-03-31 17:03:48 +01:00
fileinfo Fixed GH-18267 finfo_file() crashing on invalid URL protocol. (#18269) 2025-04-08 22:43:11 +01:00
filter ext/filter: Use bool instead of int where applicable 2025-04-02 02:20:16 +01:00
ftp ext/ftp: Remove output field of ftpbuf_t struct 2025-04-03 22:47:13 +01:00
gd ext/gd: Move FREETYPE defines into the ifdef 2025-04-05 18:12:21 +01:00
gettext Fix GH-17400: bindtextdomain segfault with UTF-16 domain value. 2025-01-09 13:45:59 +00:00
gmp ext/gmp: use zend_object_alloc instead to initialize GMP instances. (#17822) 2025-02-15 19:09:36 +00:00
hash ext/hash: Use new php_streams fast ZPP specifier 2025-03-03 18:08:23 +00:00
iconv
intl ext/intl: Add NumberFormatter::CURRENCY_ISO, PLURAL, STANDARD and CASH_CURRENCY 2025-04-09 05:39:20 +07:00
json Merge branch 'PHP-8.4' 2025-03-08 12:27:56 +01:00
ldap Merge branch 'PHP-8.4' 2025-03-15 00:51:28 +01:00
libxml Merge branch 'PHP-8.4' 2025-04-07 13:01:52 +01:00
mbstring Remove unused strcasecmp definition (#17050) 2025-03-21 18:30:22 +01:00
mysqli Merge branch 'PHP-8.4' 2025-03-16 14:26:38 +01:00
mysqlnd mysqlnd: Make st_mysqlnd_stats.values a dynamic struct member (#18246) 2025-04-06 18:56:57 +02:00
odbc
opcache ext/standard: Remove #[\NoDiscard] from flock() (#18255) 2025-04-08 14:23:03 +02:00
openssl Make further OpenSSL 1.0.2 clean up 2025-04-08 18:06:56 +02:00
pcntl Merge branch 'PHP-8.4' 2025-01-15 20:37:19 +00:00
pcre Remove PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK from pcre compile options 2025-03-31 20:01:45 +02:00
pdo Merge branch 'PHP-8.4' 2025-03-20 23:14:37 +01:00
pdo_dblib
pdo_firebird Merge branch 'PHP-8.4' 2025-03-15 08:52:03 +09:00
pdo_mysql ext/pdo: Pass argument number to pdo_dbh_attribute_set() 2025-02-04 19:28:47 +00:00
pdo_odbc ext/pdo_{odbc|pgsql}: Use precomputed data_source_len (#17744) 2025-02-09 13:10:20 +00:00
pdo_pgsql ext/pdo_pgsql: updating copy from according to pgsql extension workflow. (#18175) 2025-03-28 18:24:45 +00:00
pdo_sqlite Merge branch 'PHP-8.4' 2025-03-20 23:14:37 +01:00
pgsql ext/pgsql: adding pg_service() alongside other connection infos. 2025-03-30 21:45:16 +01:00
phar Merge branch 'PHP-8.4' 2025-02-16 00:17:12 +01:00
posix Merge branch 'PHP-8.4' 2024-12-30 12:42:24 -04:00
random
readline
reflection Zend: Add MUTABLE zend_type foreach macros and const qualifiers 2025-04-07 12:52:40 +01:00
session [skip ci] Remove wrappers comments in session ext (#18017) 2025-03-13 12:14:31 +00:00
shmop
simplexml Fix GH-12231: SimpleXML xpath should warn when returning other return types than node lists 2025-03-17 19:37:59 +01:00
skeleton
snmp Merge branch 'PHP-8.3' into PHP-8.4 2025-03-10 11:28:43 +01:00
soap Merge branch 'PHP-8.4' 2025-03-21 08:26:04 +01:00
sockets streams: Indicate which argument fails the stream ZPP check 2025-03-24 22:54:34 +00:00
sodium ext/sodium: general buffer upper bounds adjustments. 2025-01-26 19:41:41 +00:00
spl Simplify handling of inheritance in SplFixedArray 2025-03-31 19:39:32 +02:00
sqlite3 Remove pointless call to zval_ptr_dtor() in sqlite3 (#17906) 2025-02-23 21:04:47 +01:00
standard ext/standard: Remove #[\NoDiscard] from flock() (#18255) 2025-04-08 14:23:03 +02:00
sysvmsg
sysvsem
sysvshm
tidy
tokenizer Add (void) cast 2025-03-24 19:35:30 +01:00
xml Minor improvements to ext/xml memory management (#18071) 2025-03-15 14:40:39 +01:00
xmlreader Merge branch 'PHP-8.4' 2025-03-02 22:41:21 +01:00
xmlwriter ext/standard/file: clarify fclose() warning 2025-03-24 22:54:34 +00:00
xsl Merge branch 'PHP-8.4' 2025-02-22 16:00:45 +01:00
zend_test ext/standard: Remove #[\NoDiscard] from flock() (#18255) 2025-04-08 14:23:03 +02:00
zip Merge branch 'PHP-8.4' 2025-03-02 22:41:21 +01:00
zlib streams: Indicate which argument fails the stream ZPP check 2025-03-24 22:54:34 +00:00
ext_skel.php