0

ここにはおそらく単純なものが欠けていますが、数値の因数を見つけるためのこの関数があります。

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

しかし、これは私に何も与えません。私がどこで間違っているのかについてのアイデアはありますか?

4

2 に答える 2

2

関数の戻り値に変数を割り当てていません。PHP インタープリターに関する限り、関数$factors_arrayにいる場合にのみ存在します。これを試して:factor()

$factors_array = factor(120);
print_r($factors_array);

$factors_arrayその後、コードの他の領域で再利用できます。

なぜこのようなことが起こるのかについては、このページをご覧ください。

于 2013-07-15T01:19:18.267 に答える
0

これを試してください:

print_r(factor(120));

$factors_array; にアクセスできないためです。関数の外では、これは変数のスコープと呼ばれ、通常、関数内で定義された変数は外部では使用できません。また、関数外で定義された変数は関数内では使用できません...

続きを読む変数のスコープ ¶

于 2013-07-15T01:19:49.120 に答える