我正在尝试访问变量 - 全局变量:
下一个代码对我有用:
$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 函数中进行加法。
错误 = 第二个函数中的类型不匹配!