summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/array_map_variation11.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/array/array_map_variation11.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/array/array_map_variation11.phpt')
-rw-r--r--ext/standard/tests/array/array_map_variation11.phpt52
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_map_variation11.phpt b/ext/standard/tests/array/array_map_variation11.phpt
new file mode 100644
index 0000000..9cad366
--- /dev/null
+++ b/ext/standard/tests/array/array_map_variation11.phpt
@@ -0,0 +1,52 @@
+--TEST--
+Test array_map() function : usage variations - with recursive callback
+--FILE--
+<?php
+/* Prototype : array array_map ( callback $callback , array $arr1 [, array $... ] )
+ * Description: Applies the callback to the elements of the given arrays
+ * Source code: ext/standard/array.c
+ */
+
+/*
+ * Test array_map() by passing subarrays and recursive callback function
+ */
+
+echo "*** Testing array_map() : recursive callback function ***\n";
+
+// callback function
+function square_recur_single_array($var) {
+ if (is_array($var))
+ return array_map('square_recur_single_array', $var);
+ return $var * $var;
+}
+
+$array1 = array(1, array(2, 3, array(5)), array(4));
+
+var_dump( array_map('square_recur_single_array', $array1));
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing array_map() : recursive callback function ***
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ array(3) {
+ [0]=>
+ int(4)
+ [1]=>
+ int(9)
+ [2]=>
+ array(1) {
+ [0]=>
+ int(25)
+ }
+ }
+ [2]=>
+ array(1) {
+ [0]=>
+ int(16)
+ }
+}
+Done