如何获得数组的百分比?
Posted
技术标签:
【中文标题】如何获得数组的百分比?【英文标题】:How to get a percentage of an array? 【发布时间】:2012-02-11 00:05:33 【问题描述】:我想知道如何获得一个确定百分比的数组。
假设:
$array = array ("I","am","not","a","professional","coder","so","please","help","me");
它由十个值组成。
我想写一个方法来获取它的一部分。
public function get_percentage($percentage) ...;return $array_sliced;
所以如果我想要一个只包含“I”的数组,我会使用
$this->get_percentage(10) //10 stands for 10%
//returns $slice = array ("I");
另外,如果 $num 可以四舍五入到最接近的有用值,那就太好了。例如:
$this->get_percentage(8) //8 stands for 8% but the function will treat this as 10%
//returns $slice = array ("I");
我在这里没有找到任何类似的问题,希望这不是太复杂。
【问题讨论】:
“希望这不是太复杂”:让编码器为您工作的最佳方式! 【参考方案1】:这个方法,使用array_slice()
,应该可以为你解决问题:
public function get_percentage($percentage)
$count = count($this->arr) * ($percentage / 100);
return array_slice($this->arr, 0, round($count));
【讨论】:
谢谢蒂姆!你是最好的!即使数字必须四舍五入,这是否可行? (我问题的最后一部分)。 +1,但值得注意的是 array_slice 会截断$count
,因此如果您希望 8% 返回 1 个元素,则需要先 round。
@Giorgio:我刚刚修改了代码,如果它现在可以满足您的需要,请告诉我。以上是关于如何获得数组的百分比?的主要内容,如果未能解决你的问题,请参考以下文章