import zend standard tests
[hiphop-php.git] / hphp / test / zend / good / ext-standard-array / uasort_basic1.php
blob349223ebd9ad7e9d6ab8036c2b6a736448dbfc46
1 <?php
2 /* Prototype : bool uasort(array $array_arg, string $cmp_function)
3 * Description: Sort an array with a user-defined comparison function and maintain index association
4 * Source code: ext/standard/array.c
5 */
7 echo "*** Testing uasort() : basic functionality ***\n";
9 // comparison function
10 /* Prototype : int cmp(mixed $value1, mixed $value2)
11 * Parameters : $value1 and $value2 - values to be compared
12 * Return value : 0 - if both values are same
13 * 1 - if value1 is greater than value2
14 * -1 - if value1 is less than value2
15 * Description : compares value1 and value2
17 function cmp($value1, $value2)
19 if($value1 == $value2) {
20 return 0;
22 else if($value1 > $value2) {
23 return 1;
25 else
26 return -1;
29 // Int array with default keys
30 $int_values = array(1, 8, 9, 3, 2, 6, 7);
31 echo "-- Numeric array with default keys --\n";
32 var_dump( uasort($int_values, 'cmp') );
33 var_dump($int_values);
35 // String array with default keys
36 $string_values = array("This", "is", 'a', "test");
37 echo "-- String array with default keys --\n";
38 var_dump( uasort($string_values, 'cmp') );
39 var_dump($string_values);
41 // Associative array with numeric keys
42 $numeric_key_arg = array(1=> 1, 2 => 2, 3 => 7, 5 => 4, 4 => 9);
43 echo "-- Associative array with numeric keys --\n";
44 var_dump( uasort($numeric_key_arg, 'cmp') );
45 var_dump($numeric_key_arg);
47 // Associative array with string keys
48 $string_key_arg = array('one' => 4, 'two' => 2, 'three' => 1, 'four' => 10);
49 echo "-- Associative array with string keys --\n";
50 var_dump( uasort($string_key_arg, 'cmp') );
51 var_dump($string_key_arg);
53 echo "Done"