У меня вопрос о том, как php измеряет область действия при использовании глобальной команды с переменными. У меня есть две функции в той же области моего PHP-кода. В loopitback глобальная команда работает так, как ожидалось. В loopitback_two глобальная команда не захватывает $ global_arr. Я сделал тест с использованием сессионных варов, и он отлично работает.PHP Глобальная область видимости переменных не одинакова между функциями
Мне кажется, что эти две функции идентичны, поэтому я смотрю на кого-то с большей мудростью.
Благодарим вас за то, что нашли время, чтобы прочитать это.
EDIT: ДОБАВЛЕНО MORE КОД
$global_arr = array(array());
function save_the_arr($sql_row1)
{
global $global_arr;
POPULATED ARRAY
$_SESSION['queue']=$global_arr;
}
function loopitback($max)
{
global $global_arr;
$i = 0;
while($i<$max)
{
echo "<tr><td>" . $global_arr[$i][0] . "</td></tr>";
$i = $i+1;
if($global_arr[$i][0]==NULL OR $global_arr[$i][0]=="")
$i=$max;
}
}
function loopitback_two($max)
{
global $global_arr;
$i = 0;
while($i<$max)
{
echo "<tr><td>" . $global_arr[$i][0] . "</td></tr>";
$i = $i+1;
if($global_arr[$i][0]==NULL OR $global_arr[$i][0]=="")
$i=$max;
}
}
Что такое точное сообщение об ошибке? – Mike