foreach超过20k循环非常慢

时间:2019-07-15 06:53:38

标签: php arrays foreach

我的php代码中有一点性能问题。我有一个超过20k条目的数组。它称为sachArray。我的问题是,当我运行代码时,花了 96分钟!! 完成了代码。是否有人有想法使代码更流畅。一个sachArray循环需要0.6-1.0秒)

这是我的代码:

//$this->sachArray had 20k entries
//$this->kontrollArray had 20 entries
foreach($this->sachArray as $this->sachData){
    $this->searchKontroll("SA", $this->sachData['SAPOLNR']); //database query
    foreach($this->kontrollArray as $this->kontrollData){
    //3 simple if commands
    }    
}
public function searchKontroll($sparte, $polnr){
    $stmt = $this->pdo->prepare("SELECT * FROM `$this->tableKontroll` WHERE SPARTE = :SPARTE AND POLNR = :POLNR ORDER BY ID");
    $stmt->execute(['SPARTE' => $sparte,
                    'POLNR' => $polnr]);
    $this->kontrollArray = $stmt->fetchAll(PDO::FETCH_CLASS, $this->modelKontroll);
}

希望你能帮助我, 最好的问候

0 个答案:

没有答案