2013-07-15 2 views
0

나는 여기에 간단한 함수가 없을 것 같지만,이 함수는 숫자의 요소를 찾는 데 사용됩니다. 이 비록 나에게 아무것도주지배열의 숫자 요소 (PHP 함수)

factor(120); 
print_r($factors_array); 

나는 다음과 같은 일을 할

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

.... 내가 어디로 잘못 가고 있는지에 대한 아이디어가 있습니까?

답변

2

함수의 반환 값에 변수를 지정하지 않았습니다. 당신이 factor() 함수 안에있는 경우에만 PHP 인터프리터에 관해서는, $factors_array 존재합니다. 이 시도 :

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

는 그런 다음 코드의 다른 영역에 $factors_array을 다시 사용할 수 있습니다.

왜 이런 일이 발생하는지에 대한 설명은 this page을보십시오.

+0

I 읽기 ...

가능한 내부 기능 없습니다 코드의 다른 영역에서이 코드를 사용해야하므로이 코드가 작동합니다. 감사! – gtilflm

0

그냥이 시도 :

print_r(factor(120)); 

당신이 $ factors_array에 액세스 할 수 있기 때문에, 함수 외부, 이것은 변수의 범위라고하며, 일반적으로, 함수 내에서 정의 된 변수는 외부에서 사용할 수 없습니다, 또한, 기능을 외부에서 정의되는 변수는 더 Variable scope ¶