我有一个来自csv的数组,我需要解析数据。数据如下:
Array
1. PO|115207534
2. OD|115207534
3. PO|115207535
4. OD|115207535
5. OD|115207536
我需要将它分成子阵列,每个子行的第一个条目是PO行。可以有任意数量的OD线,但总是只有1个PO。新数组需要如下:
Array
1.
PO|115207534
OD|115207534
2.
PO|115207535
OD|115207535
OD|115207536
仅使用一个foreach循环最有效的是什么?并使用2个foreach循环?
答案 0 :(得分:1)
您可以尝试将导入的项目拆分为分块数组的数量“PO”,
<?php
$array = array("PO", "OD", "PO", "OD", "OD", "OD", "OD", "PO", "OD", "PO", "OD", "OD");
$result = array();
$index = -1;
foreach ($array as $value) {
if ($value == "PO") {
$index++;
}
$result[$index][] = $value;
}
?>
<pre>
<?php
print_r($result);
?>
</pre>