PHP - 根据文件中的公共字符串将文件数据转换为数组

时间:2011-12-31 01:36:46

标签: php

我有一个包含多行数据的文件。我想将每33行数据分组成一个数组,然后将数据分组成一个数组,我想将数据冒号分隔成子数组,如下所示:

<?
 print_r(explode(':', $line));
?>

如何准备文件中的每33行数据,以准备好成为上面代码段中的$ line变量?

2 个答案:

答案 0 :(得分:2)

我不确定这是否适合您的目标,但请查看array_chunk。对于您的场景,假设您的数据来自文件(如果没有,您可以爆炸将线分割成数组):

 $line_array = file($location_of_data_file);

 $line_array_by_33 = array_chunk($line_array, 33);

这将为您提供如下数组:

[0] =>
      [0] => "Line 1",
      [1] => "Line 2",
      [2] => "Line 3",
      [3] => "Line 4",
[1] =>
      [0] => "Line 5",
      [1] => "Line 6",
      [2] => "Line 7",
      [3] => "Line 8",

上面是一个较短的版本,但你明白了。

如果你需要添加分隔符,你可以随时内爆每个块,添加你的令牌,然后再重新爆炸。

答案 1 :(得分:0)

根据IBM article,尝试类似:

$counter = 1;
$group_of_lines = '';
$file_handle = fopen("myfile", "r");

while (!feof($file_handle)) {
    $line = fgets($file_handle);
    $group_of_lines .= $line;

    if($counter % 33 == 0) {
        // do stuff with your $group_of_lines
    }

    $counter++;
}
fclose($file_handle);