2012-01-15 10 views
4

配列の特定のパーセンテージを取得する方法は不思議です。配列のパーセンテージを得るには?

さんが言ってみましょう:

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

これは、10の値で構成されます。

私はそれをスライスする方法を書いておきたいと思います。私は唯一の「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:コードを変更したばかりなので、今すぐ必要なことをすれば教えてください。 –

関連する問題