mirror of
https://github.com/php/php-src.git
synced 2026-04-30 03:33:17 +02:00
Make array_multisort() signature more variadic
The second and third arguments are not always the sort_order and sort_flags -- they can also be in reverse order, or be arrays altogether. Move them into the variadic parameter to avoid awkward error messages.
This commit is contained in:
@@ -41,15 +41,7 @@ Name: array1
|
||||
Is passed by reference: yes
|
||||
Can be passed by value: yes
|
||||
|
||||
Name: sort_order
|
||||
Is passed by reference: yes
|
||||
Can be passed by value: yes
|
||||
|
||||
Name: sort_flags
|
||||
Is passed by reference: yes
|
||||
Can be passed by value: yes
|
||||
|
||||
Name: arrays
|
||||
Name: rest
|
||||
Is passed by reference: yes
|
||||
Can be passed by value: yes
|
||||
|
||||
|
||||
@@ -222,15 +222,11 @@ function array_udiff_uassoc(array $array, ...$rest): array {}
|
||||
|
||||
/**
|
||||
* @param array $array1
|
||||
* @param int $sort_order
|
||||
* @param int $sort_flags
|
||||
* @param array $arrays
|
||||
* @param array|int $rest
|
||||
* @prefer-ref $array1
|
||||
* @prefer-ref $sort_order
|
||||
* @prefer-ref $sort_flags
|
||||
* @prefer-ref $arrays
|
||||
* @prefer-ref $rest
|
||||
*/
|
||||
function array_multisort(&$array1, $sort_order = SORT_ASC, $sort_flags = SORT_REGULAR, &...$arrays): bool {}
|
||||
function array_multisort(&$array1, &...$rest): bool {}
|
||||
|
||||
function array_rand(array $array, int $num_req = 1): int|string|array {}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* This is a generated file, edit the .stub.php file instead.
|
||||
* Stub hash: 56f49d359d2b11383a3f1401d0a3730192c28fc0 */
|
||||
* Stub hash: 251fc9f272492ab76c4a1a1dabcd768269cf1bde */
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
|
||||
@@ -313,9 +313,7 @@ ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_array_multisort, 0, 1, _IS_BOOL, 0)
|
||||
ZEND_ARG_INFO(ZEND_SEND_PREFER_REF, array1)
|
||||
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(ZEND_SEND_PREFER_REF, sort_order, "SORT_ASC")
|
||||
ZEND_ARG_INFO_WITH_DEFAULT_VALUE(ZEND_SEND_PREFER_REF, sort_flags, "SORT_REGULAR")
|
||||
ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, arrays)
|
||||
ZEND_ARG_VARIADIC_INFO(ZEND_SEND_PREFER_REF, rest)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_array_rand, 0, 1, MAY_BE_LONG|MAY_BE_STRING|MAY_BE_ARRAY)
|
||||
|
||||
@@ -25,7 +25,7 @@ try {
|
||||
*** Testing array_multisort() : error conditions ***
|
||||
|
||||
-- Testing array_multisort() function with repeated flags --
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag that has not already been specified
|
||||
array_multisort(): Argument #3 must be an array or a sort flag that has not already been specified
|
||||
|
||||
-- Testing array_multisort() function with repeated flags --
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag that has not already been specified
|
||||
array_multisort(): Argument #3 must be an array or a sort flag that has not already been specified
|
||||
|
||||
@@ -117,25 +117,25 @@ bool(true)
|
||||
bool(true)
|
||||
|
||||
--int 12345--
|
||||
array_multisort(): Argument #2 ($sort_order) must be a valid sort flag
|
||||
array_multisort(): Argument #2 must be a valid sort flag
|
||||
|
||||
--int -12345--
|
||||
array_multisort(): Argument #2 ($sort_order) must be a valid sort flag
|
||||
array_multisort(): Argument #2 must be a valid sort flag
|
||||
|
||||
--float 10.5--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--float -10.5--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--float 12.3456789000e10--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--float -12.3456789000e10--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--float .5--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--empty array--
|
||||
Array sizes are inconsistent
|
||||
@@ -150,49 +150,49 @@ bool(true)
|
||||
Array sizes are inconsistent
|
||||
|
||||
--uppercase NULL--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--lowercase null--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--lowercase true--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--lowercase false--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--uppercase TRUE--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--uppercase FALSE--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--empty string DQ--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--empty string SQ--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--string DQ--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--string SQ--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--mixed case string--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--heredoc--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--instance of classWithToString--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--instance of classWithoutToString--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--undefined var--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
--unset var--
|
||||
array_multisort(): Argument #2 ($sort_order) must be an array or a sort flag
|
||||
array_multisort(): Argument #2 must be an array or a sort flag
|
||||
|
||||
@@ -103,76 +103,76 @@ foreach($inputs as $key =>$value) {
|
||||
*** Testing array_multisort() : usage variation ***
|
||||
|
||||
--int 0--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag that has not already been specified
|
||||
array_multisort(): Argument #3 must be an array or a sort flag that has not already been specified
|
||||
|
||||
--int 1--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag that has not already been specified
|
||||
array_multisort(): Argument #3 must be an array or a sort flag that has not already been specified
|
||||
|
||||
--int 12345--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be a valid sort flag
|
||||
array_multisort(): Argument #3 must be a valid sort flag
|
||||
|
||||
--int -12345--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be a valid sort flag
|
||||
array_multisort(): Argument #3 must be a valid sort flag
|
||||
|
||||
--float 10.5--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--float -10.5--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--float 12.3456789000e10--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--float -12.3456789000e10--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--float .5--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--uppercase NULL--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--lowercase null--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--lowercase true--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--lowercase false--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--uppercase TRUE--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--uppercase FALSE--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--empty string DQ--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--empty string SQ--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--string DQ--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--string SQ--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--mixed case string--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--heredoc--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--instance of classWithToString--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--instance of classWithoutToString--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--undefined var--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
--unset var--
|
||||
array_multisort(): Argument #3 ($sort_flags) must be an array or a sort flag
|
||||
array_multisort(): Argument #3 must be an array or a sort flag
|
||||
|
||||
Reference in New Issue
Block a user