Category
stdlib · php-src-strict
Status (updated 2026-06-18 — alias registration GREEN)
Verified on bin/vm.php:
array_uasort=true array_uksort=true array_udiff=true
array_uintersect=true array_replace_key=true
Alias registration is done. Remaining work is comparator semantics and JIT native lowering — track in #5649, #5644, #9155, #9356 (SPL uasort/uksort).
Problem (original)
php-src registers legacy short names (uasort, uksort) and array_* aliases. Alias function_exists probes were false; now true.
php-src reference
Repro (closure check)
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php bin/vm.php -r "
foreach ([\"array_uasort\",\"array_uksort\",\"array_udiff\",\"array_uintersect\",\"array_replace_key\"] as \$f) {
echo \$f, \"=\", var_export(function_exists(\$f), true), PHP_EOL;
}
"'
# All true → alias portion of this issue is satisfied
Scope (this repo)
| Path |
Status |
ext/standard/Module.php |
Aliases registered ✅ |
array_u*sort / array_udiff* VM comparators |
#5649 / #9155 |
JIT array_udiff native call() |
#9155 |
Done when
Related
Category
stdlib· php-src-strictStatus (updated 2026-06-18 — alias registration GREEN)
Verified on
bin/vm.php:Alias registration is done. Remaining work is comparator semantics and JIT native lowering — track in #5649, #5644, #9155, #9356 (SPL
uasort/uksort).Problem (original)
php-src registers legacy short names (
uasort,uksort) andarray_*aliases. Aliasfunction_existsprobes were false; now true.php-src reference
ext/standard/array.cext/standard/basic_functions.cRepro (closure check)
Scope (this repo)
ext/standard/Module.phparray_u*sort/array_udiff*VM comparatorsarray_udiffnativecall()Done when
array_*alias names in repro returnfunction_existstrueRelated