+++ /dev/null
---TEST--
-Test array_map() function
---FILE--
-<?php
-/* Prototype: array array_map ( callback $callback, array $arr1 [, array $...] );
- Description: array_map() returns an array containing all the elements of arr1
- after applying the callback function to each one. The number of
- parameters that the callback function accepts should match the
- number of arrays passed to the array_map()
-*/
-
-echo "*** Testing basic operations ***\n";
-/* array_map with null as function and different arrays */
-var_dump( array_map(NULL, array()) );
-var_dump( array_map(NULL, array(), array()) );
-var_dump( array_map(NULL, array(1,2,3), array(1,2,3)) );
-var_dump( array_map(NULL, array(1,2), array(1,2,3,4)) );
-var_dump( array_map(NULL, array("Jan", "Feb", "March"), array("31","28","31")) );
-var_dump( array_map(NULL, array("Text", "Words", "Lineup"), array(4, 5, 6)) );
-var_dump( array_map(NULL, array("a", "ab", "abc", "abcd"), array()) );
-var_dump( array_map(NULL,
- array("Jan"=>"01", "Feb"=>"02", "March"=>"03"),
- array("31"=>"Jan", "28"=>"Feb", "031"=>"March")
- )
- );
-
-/* using key as "string" where no.of arguments passed to array_map() is 2 */
-var_dump( array_map( create_function('$n', 'return $n*$n;'),
- array("key1"=>1, "key2"=>2, "key3"=>3)
- )
- );
-
-echo "\n*** Testing possible variations ***\n";
-/* anonymous callback function */
-var_dump( array_map( create_function('$a,$b', 'return $a+$b;'),
- array(1,2,3),
- array(5,6,7,8,9)
- )
- );
-
-/* anonymous callback function with reference */
-var_dump( array_map( create_function('&$a, $b', 'return array($a,$b);'),
- array("Hello","Good"),
- array("World","Day")
- )
- );
-
-/* callback function with reference */
-$a = array(1,2,3);
-function square(&$var) {
- return( $var * $var );
-}
-print_r( array_map('square', $a) );
-
-/* array_map in recursion */
-function square_recur($var) {
- if (is_array($var))
- return array_map('square_recur', $var);
- return $var * $var;
-}
-$rec_array = array(1, 2, array(3, 4, array(5, 2), array() ) );
-var_dump( array_map('square_recur', $rec_array) );
-
-/* callback function as string variable containing the function name */
-$string_var = "square";
-var_dump( array_map("square", $a) );
-var_dump( array_map($string_var, $a) );
-
-echo "\n*** Testing error conditions ***\n";
-/* arguments of non array type */
-$int_var=10;
-$float_var = 10.5;
-var_dump( array_map('square', $int_var) );
-var_dump( array_map('square', $float_var) );
-var_dump( array_map('square', $string_var) );
-
-/* Zero argument */
-var_dump( array_map() );
-
-/* use array(), echo(), empty(), eval(), exit(), isset(), list(), print()
- and unset() as callback, failure expected */
-var_dump( array_map( 'echo', array(1) ) );
-var_dump( array_map( 'array', array(1) ) );
-var_dump( array_map( 'empty', array(1) ) );
-var_dump( array_map( 'eval', array(1) ) );
-var_dump( array_map( 'exit', array(1) ) );
-var_dump( array_map( 'isset', array(1) ) );
-var_dump( array_map( 'list', array(1) ) );
-var_dump( array_map( 'print', array(1) ) );
-
-
-echo "\n*** Testing operation on objects ***\n";
-/* array_map with class object */
-class check_array_map {
- public static function helloWorld() {
- return "Static_Function_helloWorld(): Hello World";
- }
- public function Message($v) {
- return $v;
- }
-
- public static function Square( $n ) {
- return $n * $n;
- }
-}
-/* call static member function */
-var_dump( array_map( array('check_array_map', 'Square'), array(1,2,3)) );
-
-/* call non static member function - warning should be issues*/
-var_dump( array_map( array('check_array_map', 'Message'), array(1)) );
-
-/* call function using object */
-$obj = new check_array_map();
-var_dump( array_map( array($obj, 'helloWorld' ) ) ); // not enough args warning
-var_dump( array_map( array($obj, 'helloWorld'), array(1) ) );
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing basic operations ***
-array(0) {
-}
-array(0) {
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- int(1)
- [1]=>
- int(1)
- }
- [1]=>
- array(2) {
- [0]=>
- int(2)
- [1]=>
- int(2)
- }
- [2]=>
- array(2) {
- [0]=>
- int(3)
- [1]=>
- int(3)
- }
-}
-array(4) {
- [0]=>
- array(2) {
- [0]=>
- int(1)
- [1]=>
- int(1)
- }
- [1]=>
- array(2) {
- [0]=>
- int(2)
- [1]=>
- int(2)
- }
- [2]=>
- array(2) {
- [0]=>
- NULL
- [1]=>
- int(3)
- }
- [3]=>
- array(2) {
- [0]=>
- NULL
- [1]=>
- int(4)
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- string(3) "Jan"
- [1]=>
- string(2) "31"
- }
- [1]=>
- array(2) {
- [0]=>
- string(3) "Feb"
- [1]=>
- string(2) "28"
- }
- [2]=>
- array(2) {
- [0]=>
- string(5) "March"
- [1]=>
- string(2) "31"
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- string(4) "Text"
- [1]=>
- int(4)
- }
- [1]=>
- array(2) {
- [0]=>
- string(5) "Words"
- [1]=>
- int(5)
- }
- [2]=>
- array(2) {
- [0]=>
- string(6) "Lineup"
- [1]=>
- int(6)
- }
-}
-array(4) {
- [0]=>
- array(2) {
- [0]=>
- string(1) "a"
- [1]=>
- NULL
- }
- [1]=>
- array(2) {
- [0]=>
- string(2) "ab"
- [1]=>
- NULL
- }
- [2]=>
- array(2) {
- [0]=>
- string(3) "abc"
- [1]=>
- NULL
- }
- [3]=>
- array(2) {
- [0]=>
- string(4) "abcd"
- [1]=>
- NULL
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- string(2) "01"
- [1]=>
- string(3) "Jan"
- }
- [1]=>
- array(2) {
- [0]=>
- string(2) "02"
- [1]=>
- string(3) "Feb"
- }
- [2]=>
- array(2) {
- [0]=>
- string(2) "03"
- [1]=>
- string(5) "March"
- }
-}
-array(3) {
- ["key1"]=>
- int(1)
- ["key2"]=>
- int(4)
- ["key3"]=>
- int(9)
-}
-
-*** Testing possible variations ***
-array(5) {
- [0]=>
- int(6)
- [1]=>
- int(8)
- [2]=>
- int(10)
- [3]=>
- int(8)
- [4]=>
- int(9)
-}
-array(2) {
- [0]=>
- array(2) {
- [0]=>
- string(5) "Hello"
- [1]=>
- string(5) "World"
- }
- [1]=>
- array(2) {
- [0]=>
- string(4) "Good"
- [1]=>
- string(3) "Day"
- }
-}
-Array
-(
- [0] => 1
- [1] => 4
- [2] => 9
-)
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- array(4) {
- [0]=>
- int(9)
- [1]=>
- int(16)
- [2]=>
- array(2) {
- [0]=>
- int(25)
- [1]=>
- int(4)
- }
- [3]=>
- array(0) {
- }
- }
-}
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-
-*** Testing error conditions ***
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, string given in %s on line %d
-NULL
-
-*** Testing operation on objects ***
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-
-Warning: array_map() expects parameter 1 to be valid callback, array given in %s on line %d
-NULL
-
-Warning: array_map() expects at least 2 parameters, 1 given in %s on line %d
-NULL
-array(1) {
- [0]=>
- string(41) "Static_Function_helloWorld(): Hello World"
-}
-Done
---UEXPECTF--
-*** Testing basic operations ***
-array(0) {
-}
-array(0) {
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- int(1)
- [1]=>
- int(1)
- }
- [1]=>
- array(2) {
- [0]=>
- int(2)
- [1]=>
- int(2)
- }
- [2]=>
- array(2) {
- [0]=>
- int(3)
- [1]=>
- int(3)
- }
-}
-array(4) {
- [0]=>
- array(2) {
- [0]=>
- int(1)
- [1]=>
- int(1)
- }
- [1]=>
- array(2) {
- [0]=>
- int(2)
- [1]=>
- int(2)
- }
- [2]=>
- array(2) {
- [0]=>
- NULL
- [1]=>
- int(3)
- }
- [3]=>
- array(2) {
- [0]=>
- NULL
- [1]=>
- int(4)
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- unicode(3) "Jan"
- [1]=>
- unicode(2) "31"
- }
- [1]=>
- array(2) {
- [0]=>
- unicode(3) "Feb"
- [1]=>
- unicode(2) "28"
- }
- [2]=>
- array(2) {
- [0]=>
- unicode(5) "March"
- [1]=>
- unicode(2) "31"
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- unicode(4) "Text"
- [1]=>
- int(4)
- }
- [1]=>
- array(2) {
- [0]=>
- unicode(5) "Words"
- [1]=>
- int(5)
- }
- [2]=>
- array(2) {
- [0]=>
- unicode(6) "Lineup"
- [1]=>
- int(6)
- }
-}
-array(4) {
- [0]=>
- array(2) {
- [0]=>
- unicode(1) "a"
- [1]=>
- NULL
- }
- [1]=>
- array(2) {
- [0]=>
- unicode(2) "ab"
- [1]=>
- NULL
- }
- [2]=>
- array(2) {
- [0]=>
- unicode(3) "abc"
- [1]=>
- NULL
- }
- [3]=>
- array(2) {
- [0]=>
- unicode(4) "abcd"
- [1]=>
- NULL
- }
-}
-array(3) {
- [0]=>
- array(2) {
- [0]=>
- unicode(2) "01"
- [1]=>
- unicode(3) "Jan"
- }
- [1]=>
- array(2) {
- [0]=>
- unicode(2) "02"
- [1]=>
- unicode(3) "Feb"
- }
- [2]=>
- array(2) {
- [0]=>
- unicode(2) "03"
- [1]=>
- unicode(5) "March"
- }
-}
-array(3) {
- [u"key1"]=>
- int(1)
- [u"key2"]=>
- int(4)
- [u"key3"]=>
- int(9)
-}
-
-*** Testing possible variations ***
-array(5) {
- [0]=>
- int(6)
- [1]=>
- int(8)
- [2]=>
- int(10)
- [3]=>
- int(8)
- [4]=>
- int(9)
-}
-array(2) {
- [0]=>
- array(2) {
- [0]=>
- unicode(5) "Hello"
- [1]=>
- unicode(5) "World"
- }
- [1]=>
- array(2) {
- [0]=>
- unicode(4) "Good"
- [1]=>
- unicode(3) "Day"
- }
-}
-Array
-(
- [0] => 1
- [1] => 4
- [2] => 9
-)
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- array(4) {
- [0]=>
- int(9)
- [1]=>
- int(16)
- [2]=>
- array(2) {
- [0]=>
- int(25)
- [1]=>
- int(4)
- }
- [3]=>
- array(0) {
- }
- }
-}
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-
-*** Testing error conditions ***
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map(): Argument #2 should be an array in %s on line %d
-NULL
-
-Warning: array_map() expects at least 2 parameters, 0 given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-Warning: array_map() expects parameter 1 to be valid callback, Unicode string given in %s on line %d
-NULL
-
-*** Testing operation on objects ***
-array(3) {
- [0]=>
- int(1)
- [1]=>
- int(4)
- [2]=>
- int(9)
-}
-
-Warning: array_map() expects parameter 1 to be valid callback, array given in %s on line %d
-NULL
-
-Warning: array_map() expects at least 2 parameters, 1 given in %s on line %d
-NULL
-array(1) {
- [0]=>
- unicode(41) "Static_Function_helloWorld(): Hello World"
-}
-Done