数组中数字的因子(PHP函数)

时间:2013-07-15 01:17:38

标签: php arrays

我可能在这里遗漏了一些简单的东西,但我有这个函数来查找数字的因子。

 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);

这给了我什么。关于我哪里出错的任何想法?

2 个答案:

答案 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 ¶