1--TEST-- 2Test get_class_methods() function : usage variations - unexpected types 3--FILE-- 4<?php 5/* Prototype : proto array get_class_methods(mixed class) 6 * Description: Returns an array of method names for class or class instance. 7 * Source code: Zend/zend_builtin_functions.c 8 * Alias to functions: 9 */ 10 11 12function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 13 echo "Error: $err_no - $err_msg, $filename($linenum)\n"; 14} 15set_error_handler('test_error_handler'); 16 17echo "*** Testing get_class_methods() : usage variations ***\n"; 18 19// Initialise function arguments not being substituted (if any) 20 21//get an unset variable 22$unset_var = 10; 23unset ($unset_var); 24 25//array of values to iterate over 26$values = array( 27 28 // int data 29 0, 30 1, 31 12345, 32 -2345, 33 34 // float data 35 10.5, 36 -10.5, 37 10.1234567e10, 38 10.7654321E-10, 39 .5, 40 41 // array data 42 array(), 43 array(0), 44 array(1), 45 array(1, 2), 46 array('color' => 'red', 'item' => 'pen'), 47 48 // null data 49 NULL, 50 null, 51 52 // boolean data 53 true, 54 false, 55 TRUE, 56 FALSE, 57 58 // empty data 59 "", 60 '', 61 62 // string data 63 "string", 64 'string', 65 66 // object data 67 new stdclass(), 68 69 // undefined data 70 $undefined_var, 71 72 // unset data 73 $unset_var, 74); 75 76// loop through each element of the array for class 77 78foreach($values as $value) { 79 echo "\nArg value " . (is_object($value) ? get_class($value) : $value) . " \n"; 80 var_dump( get_class_methods($value) ); 81}; 82echo "Done"; 83?> 84--EXPECTF-- 85*** Testing get_class_methods() : usage variations *** 86Error: 8 - Undefined variable: undefined_var, %s(67) 87Error: 8 - Undefined variable: unset_var, %s(70) 88 89Arg value 0 90NULL 91 92Arg value 1 93NULL 94 95Arg value 12345 96NULL 97 98Arg value -2345 99NULL 100 101Arg value 10.5 102NULL 103 104Arg value -10.5 105NULL 106 107Arg value 101234567000 108NULL 109 110Arg value 1.07654321E-9 111NULL 112 113Arg value 0.5 114NULL 115Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d) 116 117Arg value Array 118NULL 119Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d) 120 121Arg value Array 122NULL 123Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d) 124 125Arg value Array 126NULL 127Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d) 128 129Arg value Array 130NULL 131Error: 8 - Array to string conversion, %sget_class_methods_variation_001.php(%d) 132 133Arg value Array 134NULL 135 136Arg value 137NULL 138 139Arg value 140NULL 141 142Arg value 1 143NULL 144 145Arg value 146NULL 147 148Arg value 1 149NULL 150 151Arg value 152NULL 153 154Arg value 155NULL 156 157Arg value 158NULL 159 160Arg value string 161NULL 162 163Arg value string 164NULL 165 166Arg value stdClass 167array(0) { 168} 169 170Arg value 171NULL 172 173Arg value 174NULL 175Done 176