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