Bug #10523: get_defined_functions inserts a whitespace at the end of each value.
| From: | maxim at maxim dot cx | Date: | Fri, 27 Apr 2001 10:38:06 +0000 |
| Subject: | Bug #10523: get_defined_functions inserts a whitespace at the end of each value. | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-52571@lists.php.net to get a copy of this message | ||
From: maxim@maxim.cx
Operating system: Win2k
PHP version: 4.0.4pl1
PHP Bug Type: Class/Object related
Bug description: get_defined_functions inserts a whitespace at the end of each value.
Hi,
I spent an hour to understand why this simple code did not work for me:
// $functions: an array of the Db specific functions I care of.
// they are in form 'connect', 'query' etc...
$existing = get_defined_functions();
foreach($functions as $k=>$v) {
$f = $dbms.$v;
printf("%s $f<BR>", in_array($f, $existing['internal']) ? '+'
: '-');
}
It did not return me anything at all, although it should.
The problem was:
get_defined_functions() returns a two dimensional array, in which all the values (functions) are
having a (whitespace?) 'ORD(0)' at the end.
you can check it with this:
$func = get_defined_functions();
echo '<PRE>';
foreach($func['internal'] as $k=>$v) {
printf("ASCII: '%d' \tvalue: '%s'\n", ord(substr($v, -1)), $v);
}
echo '</PRE>';
// the returns the following:
ASCII: '0' value: 'zend_version'
ASCII: '0' value: 'func_num_args'
ASCII: '0' value: 'func_get_arg'
and so on...
I believe that's a bug, no?
Maxim Maletsky,
maxim@maixm.cx
PHPBeginner.com
--
Edit Bug report at: http://bugs.php.net/?id=10523&edit=1