2012-01-15 2 views
4

배열의 특정 비율을 얻는 방법을 궁금합니다.어레이의 일정 비율을 얻는 방법은 무엇입니까?

의가 있다고 가정 해 봅시다 :

$array = array ("I","am","not","a","professional","coder","so","please","help","me"); 

그것은 열 개 값으로 구성합니다.

나는 조각을 얻기위한 방법을 쓰고 싶습니다. 난 단지 "I"를 포함하는 배열을 원하는 경우

public function get_percentage($percentage) {...;return $array_sliced;} 

그래서는 $ NUM 가장 가까운 유용한 값으로 반올림 할 수 있다면 그것은 좋은 것입니다, 또한

$this->get_percentage(10) //10 stands for 10% 
//returns $slice = array ("I"); 

사용하십시오. 예 :

$this->get_percentage(8) //8 stands for 8% but the function will treat this as 10% 
//returns $slice = array ("I"); 

여기에 비슷한 질문이 없었습니다. 너무 복잡하지 않기를 바랍니다.

+3

* * "이 너무 복잡하지 희망"당신을 위해 코더 작업을 얻을 수있는 가장 좋은 방법! –

답변

10

이 방법, 당신을 위해 트릭을 할해야 array_slice() 사용 :

public function get_percentage($percentage) 
{ 
    $count = count($this->arr) * ($percentage/100); 
    return array_slice($this->arr, 0, round($count)); 
} 
+0

Tim 감사합니다! 당신은 최고예요! 번호를 반올림해야하는 경우에도 작동합니까? (내 질문의 마지막 부분). – KingBOB

+0

+1하지만 array_slice가'$ count'를 자르지 않으므로 8 %를 원한다면 먼저 (round) (http://php.net/manual/en/function.round.php)해야합니다. 1 요소를 반환합니다. – cmbuckley

+0

@Giorgio : 방금 코드를 수정 했으므로 이제는 필요한 것을 수행하는지 알려주십시오. –

관련 문제