一次将一个数组写入文件25个元素


write an array to file 25 elements at a time

我有一个可变长度数组(xml),我想从中提取详细信息,然后将每个元素的内容写入一个一次包含25个元素的文件,直到所有元素都处理完毕。我对阅读和写作部分还可以,但我对如何正确地将其分成块一无所知。

foreach ($elements as $element) {
$dataToWrite = $dataToWrite . $element;
}
fwrite($file, $dataToWrite)

但是我如何一次迭代25个元素呢?我一直在尝试简单的代码(如下),但这对我来说似乎是一项"艰巨的工作"。有没有一个更干净、更健壮的解决方案?

    <?php
$index= 0;
$colours=array("red","green","blue","yellow","brown","pink","orange","light blue","black","white","purple","mauve","cyan","brown","indigo","scarlet");
$temp = array_chunk($colours, 2, true);
$count = count($temp);
while ($index<$count){
    $dataToWrite = "";
    foreach ($temp[$index] as $element){
        $dataToWrite = $dataToWrite . $element;
    };
    $index++;
    echo "header " . $dataToWrite . " footer" . "<br>";
};
?> 

我会使用原始代码块以以下方式完成:

  • foreach循环更改为for环路(要获取数组中的项数,请使用count
  • 在for循环中,有一个if语句,检查迭代器变量mod 25的值是否等于0,如果是,则写出数据并清除dataToWrite变量
  • 还要确保在循环完成后写出数据,以防还有一些额外的数据没有在循环中写出