was.php – Diff between revs 10 and 11

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 10 Rev 11
Line 6... Line 6...
6 function wasCSVToArray($csv) { 6 function wasCSVToArray($csv) {
7 $l = array(); 7 $l = array();
8 $s = array(); 8 $s = array();
9 $m = ""; 9 $m = "";
10 for ($i = 0; $i < strlen($csv); ++$i) { 10 for ($i = 0; $i < strlen($csv); ++$i) {
11 switch ($csv{$i}) { 11 switch ($csv[$i]) {
12 case ',': 12 case ',':
13 if (sizeof($s) == 0 || !current($s) == '"') { 13 if (sizeof($s) == 0 || !current($s) == '"') {
14 array_push($l, $m); 14 array_push($l, $m);
15 $m = ""; 15 $m = "";
16 break; 16 break;
17 } 17 }
18 $m .= $csv{$i}; 18 $m .= $csv[$i];
19 continue; 19 continue;
20 case '"': 20 case '"':
21 if ($i + 1 < strlen($csv) && $csv{$i} == $csv{$i + 1}) { 21 if ($i + 1 < strlen($csv) && $csv[$i] == $csv[$i + 1]) {
22 $m .= $csv{$i}; 22 $m .= $csv[$i];
23 ++$i; 23 ++$i;
24 break; 24 break;
25 } 25 }
26 if (sizeof($s) == 0|| !current($s) == $csv[$i]) { 26 if (sizeof($s) == 0|| !current($s) == $csv[$i]) {
27 array_push($s, $csv{$i}); 27 array_push($s, $csv[$i]);
28 continue; 28 continue;
29 } 29 }
30 array_pop($s); 30 array_pop($s);
31 break; 31 break;
32 default: 32 default:
33 $m .= $csv{$i}; 33 $m .= $csv[$i];
34 break; 34 break;
35 } 35 }
36 } 36 }
37 array_push($l, $m); 37 array_push($l, $m);
38 return $l; 38 return $l;