|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-04-27 09:15 UTC] andrei@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 00:00:01 2025 UTC |
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