我可能在这里遗漏了一些简单的东西,但我有这个函数来查找数字的因子。
function factor($n){
$factors_array = array();
for ($x = 1; $x <= sqrt(abs($n)); $x++)
{
if ($n % $x == 0)
{
$z = $n/$x;
array_push($factors_array, $x, $z);
}
}
return $factors_array;
}
然后我想做这样的事情......
factor(120);
print_r($factors_array);
这给了我什么。关于我哪里出错的任何想法?
答案 0 :(得分:2)
您没有将变量赋值给函数的返回值。就PHP解释器而言,$factors_array
只有在内部 factor()
函数时才存在。试试这个:
$factors_array = factor(120);
print_r($factors_array);
然后,您可以在代码的其他区域重用$factors_array
。
请查看this page,了解为何会发生这种情况。
答案 1 :(得分:0)
试试这个:
print_r(factor(120));
因为您无法访问$ factors_array;在函数外部,这被称为变量范围,通常,在函数内部定义的变量在外部不可用,在函数内部定义的变量在函数内部也不可用...
了解更多Variable scope ¶