2014-12-04 3 views
1

임의의 정수를 5 등분하여 나누고 싶습니다. 그리고 그 값을 배열에 삽입하십시오. 어느 누구도 그 논리를 말해 줄 수 있습니까?임의의 정수를 동일한 5 부분으로 나누는 논리

예 : 내 번호는 15 점입니다. 나눈 후에. 다음과 같이 배열을 생성해야합니다.

$myArray = array('3','6','9','12','15'); 

미리 감사드립니다. 어레이를 채우기 위해 루프를 생성

+0

숫자가 5의 배수가 아니면 어떻게 되나요? – axiac

+0

숫자가 5로 나눌 수없는 경우 (예 : 2)? –

+0

해당 값은 반올림해야합니다. – Ni3

답변

1

각개 ...

$total = 15; 
$divide = 5; 

$base = $total/$divide; 

$arr = array(); 
for($i = 1; $i <= $divide; $i++) { 
    $arr[] = round($i * $base); 
} 
설명
3
function getParts($number, $parts) 
{ 
    return array_map('round', array_slice(range(0, $number, $number/$parts), 1)); 
} 

print_r(getParts(15, 5)); 

:range()는 그것이 $number 도달 할 때 끝나는 0로 시작 값 배열과 스텝 $number/$parts를 사용하여 생성 . $parts+1 부동 소수점 수를 얻습니다. array_slice()은 첫 번째 항목 (항상 0)을 제거합니다. array_map()은 각 요소에 round() 함수를 적용하여 가장 가까운 정수를 가져옵니다.

관련 문제