1--TEST-- 2Test base64_encode() function : usage variations - unexpected types for argument 1 3--FILE-- 4<?php 5/* Prototype : proto string base64_encode(string str) 6 * Description: Encodes string using MIME base64 algorithm 7 * Source code: ext/standard/base64.c 8 * Alias to functions: 9 */ 10 11echo "*** Testing base64_encode() : usage variations ***\n"; 12 13 14function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 15 echo "Error: $err_no - $err_msg, $filename($linenum)\n"; 16} 17set_error_handler('test_error_handler'); 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 // object data 63 new stdclass(), 64 65 // undefined data 66 $undefined_var, 67 68 // unset data 69 $unset_var, 70); 71 72// loop through each element of the array for str 73 74foreach($values as $value) { 75 echo "\nArg value $value \n"; 76 var_dump( base64_encode($value) ); 77}; 78 79echo "Done"; 80?> 81--EXPECTF-- 82*** Testing base64_encode() : usage variations *** 83Error: 8 - Undefined variable: undefined_var, %s(63) 84Error: 8 - Undefined variable: unset_var, %s(66) 85 86Arg value 0 87string(4) "MA==" 88 89Arg value 1 90string(4) "MQ==" 91 92Arg value 12345 93string(8) "MTIzNDU=" 94 95Arg value -2345 96string(8) "LTIzNDU=" 97 98Arg value 10.5 99string(8) "MTAuNQ==" 100 101Arg value -10.5 102string(8) "LTEwLjU=" 103 104Arg value 101234567000 105string(16) "MTAxMjM0NTY3MDAw" 106 107Arg value 1.07654321E-9 108string(20) "MS4wNzY1NDMyMUUtOQ==" 109 110Arg value 0.5 111string(4) "MC41" 112 113Arg value Array 114Error: 2 - base64_encode() expects parameter 1 to be string, array given, %s(73) 115NULL 116 117Arg value Array 118Error: 2 - base64_encode() expects parameter 1 to be string, array given, %s(73) 119NULL 120 121Arg value Array 122Error: 2 - base64_encode() expects parameter 1 to be string, array given, %s(73) 123NULL 124 125Arg value Array 126Error: 2 - base64_encode() expects parameter 1 to be string, array given, %s(73) 127NULL 128 129Arg value Array 130Error: 2 - base64_encode() expects parameter 1 to be string, array given, %s(73) 131NULL 132 133Arg value 134string(0) "" 135 136Arg value 137string(0) "" 138 139Arg value 1 140string(4) "MQ==" 141 142Arg value 143string(0) "" 144 145Arg value 1 146string(4) "MQ==" 147 148Arg value 149string(0) "" 150 151Arg value 152string(0) "" 153 154Arg value 155string(0) "" 156Error: 4096 - Object of class stdClass could not be converted to string, %s(72) 157 158Arg value 159Error: 2 - base64_encode() expects parameter 1 to be string, object given, %s(73) 160NULL 161 162Arg value 163string(0) "" 164 165Arg value 166string(0) "" 167Done 168