1--TEST-- 2Test array_walk_recursive() function : usage variations - 'input' array with different values 3--FILE-- 4<?php 5/* 6 * Testing array_walk_recursive() with following types of 'input' arrays: 7 * integer, float, string, bool, null, empty & mixed 8*/ 9 10function print_value($value, $key, $count) 11{ 12 echo $count." : ".$key." ".$value."\n"; 13} 14 15echo "*** Testing array_walk_recursive() : 'input' array with different values***\n"; 16 17// different arrays as input 18$input_values = array( 19 20 // integer values 21/*1*/ array(array(1, 0, -10), array(023, -041), array(0x5A, 0X1F, -0x6E)), 22 23 // float value 24 array(array(3.4, 0.8, -2.9), array(6.25e2, 8.20E-3)), 25 26 // string values 27 array('Mango', array("Apple", 'Orange', "Lemon")), 28 29 // bool values 30/*4*/ array( array(true, false), array(TRUE, FALSE)), 31 32 // null values 33 array( array(null), array(NULL)), 34 35 // empty array 36 array(), 37 38 // binary array 39 array(array(b'binary')), 40 41 // mixed array 42/*8*/ array(16, 8.345, array("Fruits"), array(true, null), array(FALSE), array(-98, 0.005, 'banana')) 43); 44 45for($count = 0; $count < count($input_values); $count++) { 46 echo "\n-- Iteration ".($count + 1)." --\n"; 47 var_dump( array_walk_recursive($input_values[$count], "print_value", $count+1)); 48} 49echo "Done" 50?> 51--EXPECT-- 52*** Testing array_walk_recursive() : 'input' array with different values*** 53 54-- Iteration 1 -- 551 : 0 1 561 : 1 0 571 : 2 -10 581 : 0 19 591 : 1 -33 601 : 0 90 611 : 1 31 621 : 2 -110 63bool(true) 64 65-- Iteration 2 -- 662 : 0 3.4 672 : 1 0.8 682 : 2 -2.9 692 : 0 625 702 : 1 0.0082 71bool(true) 72 73-- Iteration 3 -- 743 : 0 Mango 753 : 0 Apple 763 : 1 Orange 773 : 2 Lemon 78bool(true) 79 80-- Iteration 4 -- 814 : 0 1 824 : 1 834 : 0 1 844 : 1 85bool(true) 86 87-- Iteration 5 -- 885 : 0 895 : 0 90bool(true) 91 92-- Iteration 6 -- 93bool(true) 94 95-- Iteration 7 -- 967 : 0 binary 97bool(true) 98 99-- Iteration 8 -- 1008 : 0 16 1018 : 1 8.345 1028 : 0 Fruits 1038 : 0 1 1048 : 1 1058 : 0 1068 : 0 -98 1078 : 1 0.005 1088 : 2 banana 109bool(true) 110Done 111