Php 将索引数组平均减少10%

Php 将索引数组平均减少10%,php,arrays,Php,Arrays,我有一个数组,里面有一个月的数据。数据在这段时间内每15分钟计算一次,这意味着它有大约2880个条目 我需要将其减少大约10%,以便在图表中显示数据(288个数据点的渲染效果要比2880个好得多) 以下是我尝试过的方法(它有效,但可能是一种非常糟糕的方法): $count=count($this->data1个月); 对于($i=0;$iDataMonth[$i]; } $this->Data1Month=$tempArray; 我认为您有最有效的解决方案,但您确实犯了一个错误。数组索引从零开始

我有一个数组,里面有一个月的数据。数据在这段时间内每15分钟计算一次,这意味着它有大约2880个条目

我需要将其减少大约10%,以便在图表中显示数据(288个数据点的渲染效果要比2880个好得多)

以下是我尝试过的方法(它有效,但可能是一种非常糟糕的方法):

$count=count($this->data1个月);
对于($i=0;$i<$count;$i+=10){
$tempArray[]=$this->DataMonth[$i];
}
$this->Data1Month=$tempArray;

我认为您有最有效的解决方案,但您确实犯了一个错误。数组索引从零开始,因此0+10必须是9,如下所示:

$count = count($this->Data1Month);
for($i = 0; $i < $count; $i += 9) {
    $tempArray[] = $this->DataMonth[$i];
}
$this->Data1Month = $tempArray;
$count=count($this->data1个月);
对于($i=0;$i<$count;$i+=9){
$tempArray[]=$this->DataMonth[$i];
}
$this->Data1Month=$tempArray;

我相信foreach比for loop for Arrays快。我投票将这个问题作为离题题结束,因为OP要求对代码进行审查。除非你有理由认为代码以某种方式减慢了你的程序,否则我会选择最清楚地向未来的代码读者表明意图的代码。优化俱乐部的第一条规则是不要优化。优化俱乐部的第二条规则是不要在没有测量的情况下进行优化。我不认为您当前的代码有问题。您应该真正解释您希望改进的地方。@IMSoP我不太确定这是一个好的代码审查问题。代码审查是关于以更好的方式做同样的事情,这感觉更像是询问要做的更好的事情,即更改代码的行为。我认为这是代码审查的边界,它将在数组中迭代2880次。当前代码只循环了288次。更不用说删除原始数据了,这些数据可能是,也可能不是wanted@Chuck我认为你有最有效的解决方案,但你确实犯了一个错误。数组索引从零开始,因此0+10必须是9。请看我的编辑。说到这里:我最初的解决方案也没有考虑到这一点
$count = count($this->Data1Month);
for($i = 0; $i < $count; $i += 9) {
    $tempArray[] = $this->DataMonth[$i];
}
$this->Data1Month = $tempArray;