#10523 [Com]: get_defined_functions inserts a whitespace at the end of each value.
| From: | job-plumpers755 at hotmail dot com | Date: | Tue, 20 Jul 2004 15:01:43 +0000 |
| Subject: | #10523 [Com]: get_defined_functions inserts a whitespace at the end of each value. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-62819@lists.php.net to get a copy of this message | ||
ID: 10523
Comment by: job-plumpers755 at hotmail dot com
Reported By: maxim at maxim dot cx
Status: Closed
Bug Type: Class/Object related
Operating System: Win2k
PHP Version: 4.0.4pl1
New Comment:
<a href=http://coveredplumpers-job.da.ru>plumpers
job</a>
Previous Comments:
------------------------------------------------------------------------
[2001-04-27 09:15:58] andrei@php.net
This has been fixed for 4.0.5.
------------------------------------------------------------------------
[2001-04-27 06:38:06] maxim at maxim dot cx
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 this bug report at http://bugs.php.net/?id=10523&edit=1