File: uasort_variation11.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (70 lines) | stat: -rw-r--r-- 1,419 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
--TEST--
Test uasort() function : usage variations - different associative arrays
--FILE--
<?php
/* Testing uasort() with different associative arrays having keys as
 *   string, integer, default & duplicate keys
 */

echo "*** Testing uasort() : sorting different associative arrays ***\n";

// comparison function
function cmp($value1, $value2)
{
  if($value1 == $value2) {
    return 0;
  }
  else if($value1 > $value2) {
    return 1;
  }
  else
    return -1;
}

// Array with duplicate string and integer keys
$array_arg = array(0 => 2, "a" => 8, "d" => 9, 3 => 3, 5 => 2, "o" => 6, "z" => -99, 0 => 1, "z" => 3);
echo "-- Array with duplicate keys --\n";
var_dump( uasort($array_arg, 'cmp') );
var_dump($array_arg);

// Array with default and assigned keys
$array_arg = array(0 => "Banana", 1 => "Mango", "Orange", 2 => "Apple", "Pineapple");
echo "-- Array with default/assigned keys --\n";
var_dump( uasort($array_arg, 'cmp') );
var_dump($array_arg);

echo "Done"
?>
--EXPECT--
*** Testing uasort() : sorting different associative arrays ***
-- Array with duplicate keys --
bool(true)
array(7) {
  [0]=>
  int(1)
  [5]=>
  int(2)
  [3]=>
  int(3)
  ["z"]=>
  int(3)
  ["o"]=>
  int(6)
  ["a"]=>
  int(8)
  ["d"]=>
  int(9)
}
-- Array with default/assigned keys --
bool(true)
array(4) {
  [2]=>
  string(5) "Apple"
  [0]=>
  string(6) "Banana"
  [1]=>
  string(5) "Mango"
  [3]=>
  string(9) "Pineapple"
}
Done