Вот код.
function _INIT_GLOBVARS( ) {
global $DBPATH, $PHOTODIR;
global $INFO_ITEMSCOUNT, $INFO_EXISTITMSCNT;
global $MF_OBJECTPART, $MF_QUERYTPART, $MF_INFOCODESPART, $MF_LOGSPART;
global $AF_OBJECTINFOPART, $AF_TREEPART;
$DBPATH = './data.sqlite'; $PHOTODIR = './photos/';
$INFO_ITEMSCOUNT = 15; $INFO_EXISTITMSCNT = 0;
$MF_OBJECTPART = $MF_QUERYTPART = $MF_INFOCODESPART = $MF_LOGSPART = '';
$AF_OBJECTINFOPART = $AF_TREEPART = '';
if( isset($_GET['DEBUG']) ) {
echo '<p>_INIT_GLOBVARS:';
print_r($GLOBALS);
echo '</p>';
}
}
он вызывается из другой функции.
_MAIN_();
function _MAIN_() {
_INIT_GLOBVARS( );
if( isset($_GET['DEBUG']) ) {
echo '<p>_MAIN:';
print_r($GLOBALS);
echo '</p>';
}
и потом есть цикл
$ind = $INFO_EXISTITMSCNT;
for ( $ind; $ind < $INFO_ITEMSCOUNT; $ind++ ) {
$AF_OBJECTINFOPART .=
так вот проблема в том, что переменные, объявленные и инициализированные в _INIT_GLOBVARS глобальны только наполовину. Они есть в массиве $GLOBALS, но интерпретатор их не видит как переменные, ругаясь следующим образом на строчку с циклом
Notice: Undefined variable: INFO_EXISTITMSCNT in /var/www/dbfill/testindex.php on line 447