【问题标题】: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");

我在这里没有找到任何类似的问题,希望这不是太复杂。

【问题讨论】:

  • “希望这不是太复杂”:让编码器为您工作的最佳方式!

标签: php arrays slice


【解决方案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:我刚刚修改了代码,如果它现在可以满足您的需要,请告诉我。
猜你喜欢
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 1970-01-01
相关资源
最近更新 更多