我有以下数组数据结构:
[0] => 11111 Order 2121
[1] => 11111 Order 2121 10.21
[2] => 11111 Order 2121
[3] => 11111 Order 2121 -1.11
[4] => 22222 Order 33313 11.00
[5] => 22222 Order 33313 -1.45
[6] => 22222 Order 33313
我可以通过循环指定字段位置来获取值,如下所示: -
foreach($data as $row) {
$columns= explode("\t", $row);
$order_type = $fields[1];
...
但是因为我有相同的数据(11111),我无法弄清楚如何迭代获取第4列中的值,因为我想从10.21中删除-1.11,例如,只显示总价值。一些具有相同ID的行是空白的,因此导致我出现问题。
答案 0 :(得分:1)
将标签转换为空格只是为了让我的测试更容易:
<?php
$data = array(
'11111 Order 2121',
'11111 Order 2121 10.21',
'11111 Order 2121',
'11111 Order 2121 -1.11',
'22222 Order 33313 11.00',
'22222 Order 33313 -1.45',
'22222 Order 33313');
$new = array();
foreach($data as $row){
$fields = explode(" ",$row);
if(!empty($fields[3])){
$new[$fields[0]] += $fields[3];
}
}
print_r($new);
输出:
Array
(
[11111] => 9.1
[22222] => 9.55
)