Annotation of embedaddon/php/ext/standard/tests/array/uasort_variation6.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test uasort() function : usage variations - sort array having subarrays 
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : bool uasort(array $array_arg, string $cmp_function)
                      6:  * Description: Sort an array with a user-defined comparison function and maintain index association 
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11: * Testing uasort() with 'array_arg' having different subarrays as array elements
                     12: */
                     13: 
                     14: // comparison function
                     15: /* Prototype : int cmp_function(mixed $value1, mixed $value2)
                     16:  * Parameters : $value1 and $value2 - values to be compared
                     17:  * Return value : 0 - if both values are same
                     18:  *                1 - if value1 is greater than value2
                     19:  *               -1 - if value1 is less than value2
                     20:  * Description : compares value1 and value2
                     21:  */
                     22: function cmp_function($value1, $value2)
                     23: {
                     24:   if($value1 == $value2) {
                     25:     return 0;
                     26:   }
                     27:   else if($value1 > $value2) {
                     28:     return 1;
                     29:   }
                     30:   else {
                     31:     return -1;
                     32:   }
                     33: }
                     34: 
                     35: echo "*** Testing uasort() : sorting array having different subarrays ***\n";
                     36: 
                     37: $array_args = array(
                     38:   0 => array(2, 10, -1),
                     39:   1 => array(100),
                     40:   2 => array(),
                     41:   3 => array(0),
                     42:   4 => array(-1),
                     43:   5 => array(-9, 34, 54, 0, 20),
                     44:   6 => array(''),
                     45:   7 => array("apple", "Apple", "APPLE", "aPPle", "aPpLe")
                     46: );
                     47: $temp_array = $array_args;
                     48: // sorting array_arg as whole array
                     49: var_dump( uasort($temp_array, 'cmp_function') );  // expecting: bool(true)
                     50: var_dump($temp_array);
                     51: 
                     52: ?>
                     53: --EXPECTF--
                     54: *** Testing uasort() : sorting array having different subarrays ***
                     55: bool(true)
                     56: array(8) {
                     57:   [2]=>
                     58:   array(0) {
                     59:   }
                     60:   [4]=>
                     61:   array(1) {
                     62:     [0]=>
                     63:     int(-1)
                     64:   }
                     65:   [6]=>
                     66:   array(1) {
                     67:     [0]=>
                     68:     string(0) ""
                     69:   }
                     70:   [3]=>
                     71:   array(1) {
                     72:     [0]=>
                     73:     int(0)
                     74:   }
                     75:   [1]=>
                     76:   array(1) {
                     77:     [0]=>
                     78:     int(100)
                     79:   }
                     80:   [0]=>
                     81:   array(3) {
                     82:     [0]=>
                     83:     int(2)
                     84:     [1]=>
                     85:     int(10)
                     86:     [2]=>
                     87:     int(-1)
                     88:   }
                     89:   [5]=>
                     90:   array(5) {
                     91:     [0]=>
                     92:     int(-9)
                     93:     [1]=>
                     94:     int(34)
                     95:     [2]=>
                     96:     int(54)
                     97:     [3]=>
                     98:     int(0)
                     99:     [4]=>
                    100:     int(20)
                    101:   }
                    102:   [7]=>
                    103:   array(5) {
                    104:     [0]=>
                    105:     string(5) "apple"
                    106:     [1]=>
                    107:     string(5) "Apple"
                    108:     [2]=>
                    109:     string(5) "APPLE"
                    110:     [3]=>
                    111:     string(5) "aPPle"
                    112:     [4]=>
                    113:     string(5) "aPpLe"
                    114:   }
                    115: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>