我有一个可变长度数组(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变量
- 还要确保在循环完成后写出数据,以防还有一些额外的数据没有在循环中写出