--TEST--
Test asort() function : usage variations - sort octal values 
--FILE--
<?php
/* Prototype  : bool asort ( array &$array [, int $sort_flags] )
 * Description: Sort an array and maintain index association. 
                Elements will be arranged from lowest to highest when this function has completed.
 * Source code: ext/standard/array.c
*/

/*
 * testing asort() by providing different octal array for $array argument with following flag values
 * 1.flag value as defualt
 * 2.SORT_REGULAR - compare items normally
 * 3.SORT_NUMERIC - compare items numerically
*/

echo "*** Testing asort() : usage variations ***\n";

// an array contains unsorted octal values
$unsorted_oct_array = array ( 
   
01235 => 012350321 => 03210345 => 0345066 => 0660772 => 0772
   
077 => 077, -066 => -066, -0345 => -0345=> 0
);

echo 
"\n-- Testing asort() by supplying octal value array, 'flag' value is defualt  --\n";
$temp_array $unsorted_oct_array;
var_dumpasort($temp_array) ); // expecting : bool(true)
var_dump($temp_array);

echo 
"\n-- Testing asort() by supplying octal value array, 'flag' value is SORT_REGULAR  --\n";
$temp_array $unsorted_oct_array;
var_dumpasort($temp_arraySORT_REGULAR) ); // expecting : bool(true)
var_dump($temp_array);

echo 
"\n-- Testing asort() by supplying octal value array, 'flag' value is SORT_NUMERIC  --\n";
$temp_array $unsorted_oct_array;
var_dumpasort($temp_arraySORT_NUMERIC) ); // expecting : bool(true)
var_dump($temp_array);

echo 
"Done\n";
?>
--EXPECTF--
*** Testing asort() : usage variations ***

-- Testing asort() by supplying octal value array, 'flag' value is defualt  --
bool(true)
array(9) {
  [-229]=>
  int(-229)
  [-54]=>
  int(-54)
  [0]=>
  int(0)
  [54]=>
  int(54)
  [63]=>
  int(63)
  [209]=>
  int(209)
  [229]=>
  int(229)
  [506]=>
  int(506)
  [669]=>
  int(669)
}

-- Testing asort() by supplying octal value array, 'flag' value is SORT_REGULAR  --
bool(true)
array(9) {
  [-229]=>
  int(-229)
  [-54]=>
  int(-54)
  [0]=>
  int(0)
  [54]=>
  int(54)
  [63]=>
  int(63)
  [209]=>
  int(209)
  [229]=>
  int(229)
  [506]=>
  int(506)
  [669]=>
  int(669)
}

-- Testing asort() by supplying octal value array, 'flag' value is SORT_NUMERIC  --
bool(true)
array(9) {
  [-229]=>
  int(-229)
  [-54]=>
  int(-54)
  [0]=>
  int(0)
  [54]=>
  int(54)
  [63]=>
  int(63)
  [209]=>
  int(209)
  [229]=>
  int(229)
  [506]=>
  int(506)
  [669]=>
  int(669)
}
Done