我无法访问全局变量



我正在尝试访问变量 - 全局变量:

下一个代码对我有用:

$a = 1;
$b = 2;
function Sum()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'] ;
}
Sum();
echo $b;

这不起作用:

$a = 1;
$b = range(1, 500);
function Sum()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'] ;
}
Sum();
echo $b;

怎么了?

注意:我不想使用:global $a; global $b;

这是因为您正在尝试执行array和数字的总和:这是工作:

<?php
$a = 1;
$b = range(1, 500);
function Sum()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'][0] ;//0 or any index
}
Sum();
echo $b;
?>

如果要将$a添加到数组$b的总和中,请使用如下array_sum()

   function Sum()
    {
        $GLOBALS['b'] = $GLOBALS['a'] + array_sum($GLOBALS['b']) ; 
    }

在第二个示例中,您使用的是php "range":http://php.net/manual/en/function.range.php

这将返回一个数组,然后您正在尝试在 Sum 函数中进行加法。

错误 = 第二个函数中的类型不匹配!

相关内容

  • 没有找到相关文章

最新更新