1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 09:28:21 +02:00

Use zend_sort in array_multisort (tests change is expected)

This commit is contained in:
Xinchen Hui
2016-06-23 20:58:45 +08:00
parent f0bbc230f7
commit eb65db0808
4 changed files with 30 additions and 32 deletions
+1 -1
View File
@@ -4989,7 +4989,7 @@ PHP_FUNCTION(array_multisort)
}
/* Do the actual sort magic - bada-bim, bada-boom. */
zend_qsort(indirect, array_size, sizeof(Bucket *), php_multisort_compare, (swap_func_t)array_bucket_p_sawp);
zend_sort(indirect, array_size, sizeof(Bucket *), php_multisort_compare, (swap_func_t)array_bucket_p_sawp);
/* Restructure the arrays based on sorted indirect - this is mostly taken from zend_hash_sort() function. */
for (i = 0; i < num_arrays; i++) {
@@ -41,28 +41,28 @@ var_dump($inputs);
*** Testing array_multisort() : usage variation - test sort order of all types***
bool(true)
array(10) {
["empty string DQ"]=>
string(0) ""
["float -10.5"]=>
float(-10.5)
["int 0"]=>
int(0)
["uppercase NULL"]=>
NULL
["undefined var"]=>
NULL
[0]=>
array(0) {
}
["uppercase NULL"]=>
NULL
["empty string DQ"]=>
string(0) ""
["undefined var"]=>
NULL
["lowercase true"]=>
bool(true)
["instance of classWithToString"]=>
object(classWithToString)#1 (0) {
}
["string DQ"]=>
string(6) "string"
["instance of classWithoutToString"]=>
object(classWithoutToString)#2 (0) {
}
["lowercase true"]=>
bool(true)
["float -10.5"]=>
float(-10.5)
["string DQ"]=>
string(6) "string"
}
===DONE===
@@ -47,15 +47,15 @@ var_dump($inputs);
*** Testing array_multisort() : usage variation - test sort order of all types***
bool(true)
array(10) {
["empty string DQ"]=>
string(0) ""
["uppercase NULL"]=>
NULL
["undefined var"]=>
NULL
["empty string DQ"]=>
string(0) ""
["instance of classWithoutToString"]=>
object(classWithoutToString)#2 (0) {
}
["undefined var"]=>
NULL
["float -10.5"]=>
float(-10.5)
["int 0"]=>
@@ -42,9 +42,7 @@ var_dump($inputs);
Notice: Object of class classWithToString could not be converted to float in %sarray_multisort_variation9.php on line %d
Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
Notice: Object of class classWithToString could not be converted to float in %sarray_multisort_variation9.php on line %d
Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
@@ -53,26 +51,26 @@ bool(true)
array(10) {
["float -10.5"]=>
float(-10.5)
["string DQ"]=>
string(6) "string"
["undefined var"]=>
NULL
["empty string DQ"]=>
string(0) ""
["uppercase NULL"]=>
NULL
["int 0"]=>
int(0)
[0]=>
array(0) {
}
["instance of classWithoutToString"]=>
object(classWithoutToString)#2 (0) {
}
["uppercase NULL"]=>
NULL
["empty string DQ"]=>
string(0) ""
["string DQ"]=>
string(6) "string"
["undefined var"]=>
NULL
["lowercase true"]=>
bool(true)
["instance of classWithToString"]=>
object(classWithToString)#1 (0) {
}
["instance of classWithoutToString"]=>
object(classWithoutToString)#2 (0) {
}
}
===DONE===
===DONE===